• 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就可以自适应了

  • 相关阅读:
    谷歌浏览器解决跨域
    实现Linux共享Window文件
    linux安装显卡驱动
    jsduck 文档生成器
    linux 笔记
    Linux phpstorm 无法输入中文
    linux 安装composer
    Extjs动态生成表头(适用报表)
    关于git的配置与使用
    JSP解决中文乱码问题
  • 原文地址:https://www.cnblogs.com/guitarandcode/p/5802473.html
Copyright © 2020-2023  润新知