zoukankan      html  css  js  c++  java
  • iOS开发之计算text和UILabel高度(UITableviewCell自适应)

    第一步,先在Attributes Inspector将Label的Lines设为0,Line Breaks设为Word Wrap,并将Label的位置,宽度和高度等都设置好,然后设置好自动布局,或者用第三方框架实现布局(例如SDAutoLayout)。

    第二步,添加以下方法

    - (void)setTextAndAdjustLabel:(NSString *)text withLabel:(UILabel *)label

    {

        CGFloat maxWidth = label.frame.size.width;  //获取标签宽度

        //根据文本,标签宽度,字体来计算尺寸

        CGRect rect = [text boundingRectWithSize:CGSizeMake(maxWidth, CGFLOAT_MAX)

                                         options:NSStringDrawingUsesLineFragmentOrigin

                                      attributes:@{NSFontAttributeName:label.font}

                                         context:nil];

        //更新标签的frame

        label.frame = CGRectMake(label.frame.origin.x,label.frame.origin.y,maxWidth,rect.size.height);

    }

    第三步,调用方法

    [self setTextAndAdjustLabel:self.locationLabel.text withLabel:self.locationLabel];

    之后在heightForRowAtIndexPath返回想要的高度,并调用reloaddata就可以自适应了

  • 相关阅读:
    filter_input() 函数
    php get_magic_quotes_gpc()函数用法介绍
    echo、print、sprint、sprintf输出
    nl2br() 函数
    chop函数
    in_array 查询数组中是否存在某个值
    SQL技巧
    运算符(一)
    JS数据类型
    JS的基本语法与字面量和变量
  • 原文地址:https://www.cnblogs.com/guitarandcode/p/5802473.html
Copyright © 2011-2022 走看看