您的位置:首页 > 产品设计 > UI/UE

UILabell自动调整宽度width

2015-11-06 14:11 489 查看
    iOS中,UILabel并不能根据文字的多少,自动调整label标签的宽度。当label有背景颜色后,这会让视图很不美观。

    其实方法很简单,stackoverflow上有很多答案,但百度却搜不到这些答案···(所以还是google吧)

//属性要设成strong,不然初始化后会马上释放掉
<p class="p1"><span class="s1">@property</span><span class="s2"> (</span><span class="s1">strong</span><span class="s2">, </span><span class="s1">nonatomic</span><span class="s2">) </span><span class="s1">IBOutlet</span><span class="s2"> </span><span class="s3">UILabel</span><span class="s2"> *showHall;</span></p>
_showHall = [[UILabel alloc] init];
_showHall.text = _recordInfo.hallName;
[_showHall setFont:[UIFont fontWithName:@"Helvetica" size:15.0]];
_showHall.backgroundColor = AiMovieGreen;
_showHall.textColor = [UIColor whiteColor];

//不能通过storyboard创建label,不然没法重新设定frame
CGFloat labelWidth = [_showHall.text sizeWithAttributes:@{NSFontAttributeName:[UIFont fontWithName:@"Helvetica" size:15.0]}].width;
_showHall.frame = CGRectMake(162.0, 77.0, labelWidth, 21.0);
[self.tableView addSubview:_showHall];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息