IOS 之label的自适应

label自适应:

  

- (void)viewDidLoad {

    [super viewDidLoad];

    

    _label.numberOfLines = 0; //必须将显示的行数设置为无限制

    _label.font = [UIFont systemFontOfSize:17];

    _label.textAlignment = NSTextAlignmentLeft;

    _label.text = @" ds fak dbsafwibeeuifbbdsabagsdbfuiasefiuwBDHBSAF";//随意设置label文本

    CGSize size = [self sizeWithString:_label.text font:_label.font]; //调用封装方法

    _label.bounds = CGRectMake(0, 0, size.width, size.height);

    _label.center = self.view.center;

}

 //自适应size设置

- (CGSize)sizeWithString:(NSString *)string font:(UIFont *)font

{

    CGRect rect = [string boundingRectWithSize:CGSizeMake(200, 300) //限制最大的宽度和高度

                                       options:NSStringDrawingTruncatesLastVisibleLine |  NSStringDrawingUsesFontLeading | NSStringDrawingUsesLineFragmentOrigin //采用换行模式

                                    attributes:@{NSFontAttributeName:font} //传入字体

                                       context:nil];

    

    

    return rect.size;

}

 

//原文:http://www.2cto.com/kf/201411/353171.html

 

posted @ 2015-11-07 21:50  紫影飞雪  阅读(173)  评论(0编辑  收藏  举报