我正在制作一个简单的 Storyboard 原型(prototype)。我的 TableViewController 使用动态原型(prototype)作为内容。
我有一个带有 4 个标签的单元格,其中两个将在代码中设置(标签文本)。单元格的高度也将在代码中计算。换行符设置为自动换行,使用默认值(系统 17.0)一切正常:
看这里:
..但如果我更改“Fantasy Street...”标签的字体大小,它不会再中断,而只会被切断!
看这里:使用系统字体 16
行设置为0 自动换行仍然有效
.. 我也尝试在代码中手动完成,但没有改变。
有人对此有解释吗?
****已编辑:** 当我添加时 myLabel.frame = CGRectMake(t.origin.x, t.origin.y, t.size.width, t.size.height *2);
到 cellForRowAtIndexPath 我仍然看到切断标签。但是,如果我随后滚动表格 View ,使标签很快就在可视区域之外,当它再次可见时,它将与完整的文本一起显示。
顺便说一下,我正在使用 viewTags,所以我没有专用的 Cell 类,例如UILabel *myLabel = (UILabel *)[cell viewWithTag:2];
最佳答案
你应该检查 UILabel 的宽度;宽度应小于值的宽度。然后像这样:
(void) viewWillLayoutSubviews {
_landPhoneTips.preferredMaxLayoutWidth = _landPhoneTips.bounds.size.width;
}
关于iphone - UILabel 不换行(如果我更改默认字体大小),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15416036/