• frame方式布局一段文子,设置宽高


    计算一段文字的宽高

    /**
     *  计算一段文字的宽高
     *
     *  @param size       这段文字的最大宽高
     *  @param options    NSStringDrawingUsesLineFragmentOrigin
     *  @param attributes 文字的字体属性
     *  @param context    nil
     *
     *  @return 返回的是 CGRect 类型,frame
     */
    - (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context NS_AVAILABLE_IOS(7_0);
    

    第一种方法计算文字高度过时的方法

        //  首先设置文字的宽和高
        CGFloat textW = ?;
        CGSize textMaxWH = CGSizeMake(textW, ?);
        //设置文字的行数 设为0->会自动换行
        text_label.numberOfLines = 0;
        CGFloat textH = [text sizeWithFont:[UIFont systemFontOfSize:14] constrainedToSize:textMaxWH].height;
    

    第二种方法计算文字高度

        //  首先设置文字的宽和高
        CGFloat textW = ?;
        CGSize textMaxWH = CGSizeMake(textW, ?);
        //设置文字的行数 设为0->会自动换行
        text_label.numberOfLines = 0;
        //设置内部文字的字体属性
        NSDictionary *attr = @{
                                NSFontAttributeName : [UIFont systemFontOfSize:14]
                                };
        CGFloat textH = [text boundingRectWithSize:textMaxWH options:NSStringDrawingUsesLineFragmentOrigin attributes:attr context:nil].size.height;
    

    计算一句文字的宽度

        //设置内部文字的字体属性
        NSDictionary *attr = @{NSFontAttributeName:[UIFont systemFontOfSize:17]};
        CGFloat textW = [text sizeWithAttributes:attr].width;
  • 相关阅读:
    iPhone开发之多线程使用
    iPhone开发之启动画面及动画
    Keyboard 遮挡 UITextField
    iPhone发布之图标大小和设置
    Linux文件目录及其作用
    UIView设置背景图片
    通过点击事件轮换隐藏和显示导航栏
    内存检测
    iPhone开发之自定义柱状图
    给UIImageView添加点击事件
  • 原文地址:https://www.cnblogs.com/ShaoYinling/p/4619964.html
Copyright © 2020-2023  润新知