求助,swift中怎么让UILabel自适应高度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求助,swift中怎么让UILabel自适应高度相关的知识,希望对你有一定的参考价值。

参考技术A 如果你查看苹果的UIKit参考手册,你会看到许多的控件像 UILabel 和 UIWebView 是直接继承于UIView的。尽管如此,还是有一些棘手的事情,像 UIButton 和UISwitch 是继承于 UIControl ,像如下的层级关系所示: 注意:如果你想查看一个完整的UI组...

UILabel自适应

以下代码以固定宽度,高度可变为例,先利用一个临时的label计算文本的宽度和高度,再将这个宽度和高度(CGSIze)赋值给一个要先显示的label(self.abstract)

- (void)fixWidthWithAbstractText:(NSString *)text

{

    

    self.abstract.size = [self sizeLabelToFit:text width:APPLICATION_SCREEN_WIDTH - 30 height:CGFLOAT_MAX];

    self.abstract.text = text;

    [self.abstract sizeToFit];

}

 

/**

 *  返回UILabel自适应后的size

 *

 *  @param aString 字符串

 *  @param width   指定宽度

 *  @param height  指定高度

 *

 *  @return CGSize

 */

- (CGSize)sizeLabelToFit:(NSString *)aString width:(CGFloat)width height:(CGFloat)height {

    UILabel *tempLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, width, height)];

    tempLabel.text = aString;

    tempLabel.numberOfLines = 0;

    tempLabel.lineBreakMode = NSLineBreakByWordWrapping;

    [tempLabel sizeToFit];

    CGSize size = tempLabel.frame.size;

    size = CGSizeMake(ceilf(size.width),ceilf(size.height));

    return size;

}

 

以上是关于求助,swift中怎么让UILabel自适应高度的主要内容,如果未能解决你的问题,请参考以下文章

swift UILabel多行显示时 计算UILable的高度(可用于UILable高度自适应)

UIView如何优雅的自适应布局(Masonry)

Masonry实现label宽高度自适应

iOS 设置UILabel的行间距并自适应高度

怎么让Div自适应高度

怎么让iframe自适应浏览器的高度和宽度