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

  • 相关阅读:
    css笔记
    微信小程序布局基础
    selenium打开ie,Firefox,chrome浏览器
    20170818,new的永远是个类,不是方法
    Java多线程的创建和运行
    二叉树的创建和遍历
    Java泛型用于方法,类和接口
    hadoop大作业
    hive基本操作与应用
    理解MapReduce计算构架
  • 原文地址:https://www.cnblogs.com/guitarandcode/p/5802473.html
Copyright © 2011-2022 走看看