码迷,mamicode.com
首页 > 其他好文 > 详细

UILabel自适应

时间:2017-08-07 10:03:15      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:cat   nsstring   lin   自适应   固定   ram   abstract   self   width   

以下代码以固定宽度,高度可变为例,先利用一个临时的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;

}

 

UILabel自适应

标签:cat   nsstring   lin   自适应   固定   ram   abstract   self   width   

原文地址:http://www.cnblogs.com/guitarandcode/p/7297420.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!