1

我正在研究一个简单的故事板原型。我的 TableViewController 使用动态原型作为内容。

我有一个带有 4 个标签的单元格,其中两个将在代码中设置(标签文本)。单元格的高度也将在代码中计算。换行符设置为自动换行,使用默认值(系统 17.0)一切正常

看这里:

在此处输入图像描述

..但是如果我更改“Fantasy Street ...”标签的字体大小,它就不会再坏了,而是会被切断!

看这里:使用系统字体 16

在此处输入图像描述

行数设置为 0 自动换行仍处于活动状态

..我也尝试在代码中手动完成,但没有改变。

有人对此有解释吗?

****编辑:** 当我添加 myLabel.frame = CGRectMake(t.origin.x, t.origin.y, t.size.width, t.size.height *2);

到 cellForRowAtIndexPath 我仍然看到被切断的标签。但是,如果我随后滚动表格视图以使标签很快位于可视区域之外,那么当它再次可见时,它将与完整的文本一起显示。

顺便说一句,我正在使用 viewTags,所以我没有专门的单元类,例如 UILabel *myLabel = (UILabel *)[cell viewWithTag:2];

4

2 回答 2

1

你应该检查 UILabel 宽度;宽度应小于值的宽度。然后像这样:

(void) viewWillLayoutSubviews {
    _landPhoneTips.preferredMaxLayoutWidth = _landPhoneTips.bounds.size.width;
}
于 2014-12-11T03:20:21.440 回答
0

我花了几个小时处理这个相同的问题,然后昨晚终于把它解决了。更改字体大小后,您必须UILabel在情节提要中选择 并选择Edit > Size适合内容,即使您之前已经这样做了!在这样做时,您显然会重置一些在更改字体大小时会弄乱的设置。完成后,UILabel 将像以前一样包装。

于 2013-05-10T14:28:27.180 回答