牛骨文教育服务平台(让学习变的简单)
博文笔记

ios 动态计算文本的高度或宽度

创建时间:2015-09-12 投稿人: 浏览次数:927

    在ios7及以后,使用 boundingRectWithSize.....这个函数计算某一属性固定,其高度或宽度的大小。

    NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
    [paragraphStyle setLineSpacing:5];//调整行间距
    
    CGSize textSize = CGSizeMake([UIScreen mainScreen].bounds.size.width - 20, 300);
    
    _titleSize = [_title boundingRectWithSize:textSize options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:_titleFont,NSParagraphStyleAttributeName:paragraphStyle} context:nil].size;


    注:NSMutableParagraphStyle查看它的函数,发现是对整个文本属性的设置,而NSAttributedString是对字符串属性的设置,两个设置属性的对象不一样。

    boundingRectWithSize:设定一个区域,将来的字符串就会在这个区域中展示,固定其中一个参数,另外一个参数为最大显示的值

    options:查看所选项,如果你不想你的文本太大,超过你设定的区域被截断时,就必须使用NSStringDrawingUsesLineFragmentOrigin属性,否则文本显示就会错位,原因可查看 点击查看

    该函数返回一个CGSize类型,可以方位它,看具体文本的宽、高






声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。