【问题标题】:issues with label text layout while changing the font for app using auto layout使用自动布局更改应用程序字体时出现标签文本布局问题
【发布时间】:2014-10-27 15:07:57
【问题描述】:
我正在我的应用程序中进行自动布局。我有一个功能可以通过滑块移动来增加整个应用程序的字体大小。问题是当我增加字体大小时,标签的文本会变成省略号。
我已将标签的约束设置为固定宽度并增加可变高度,但这并不能解决任何问题。
我是否需要提供换行模式(自动换行)并指定每个文本的行数或有其他解决方案吗?
任何帮助将不胜感激。
【问题讨论】:
标签:
xcode5
uilabel
constraints
autoresize
ios-autolayout
【解决方案1】:
您应该能够设置自动换行并指定大量行,例如30。这应该可以解决问题。
【解决方案2】:
试试这个:
首先从上、左、右三边约束标签,然后使标签高度大于或等于但不从下边绑定。
然后使用以下代码动态增加标签高度:
-(float)expectedHeightWithFontSize:(CGFloat)fontSize
{
CGRect lblTextSize = [self.yourLabel.text boundingRectWithSize:CGSizeMake(self.yourLabel.frame.size.width, MAXFLOAT)
options:NSStringDrawingUsesLineFragmentOrigin
attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:fontSize]}
context:nil];
return lblTextSize.size.height;
}