【发布时间】:2016-11-24 04:13:35
【问题描述】:
直接来自 tvOS WT* Magazine 的页面 ...
我有一个带有静态单元格的UITableView。该单元格的样式设置为 Right Detail,它将两个标签实例(确切地说是 UITableViewLabels)添加到 textLabel 和 detailTextLabel 属性。我还在使用自定义表格视图单元格类,因此我可以初始化单元格。
在我的课程awakefromNib 中,我正在设置detailTextLabel 的值,如下所示:
NSString *detailValue = .... // loaded from somewhere else.
self.detailTextLabel.text = detailValue;
这很奇怪。如果 detailValue 是 nil 或 @"",则详细信息标签永远不会出现在 UI 上。如果我通过 Reveal 查看 UI,它就会从视图层次结构中消失。
如果我尝试然后这样设置:
self.detailTextLabel.text = @"abc";
它仍然没有出现。最奇怪的是,detailTextLabel 属性有一个 UITableViewCell 实例,其文本值为 abc,但大小为 {0,0}。
但是,如果 detailTextValue 的初始值设置为至少 1 个字符的字符串,则它会正常运行,并在我更新值时自行调整大小。
有人知道为什么吗?
【问题讨论】:
-
您是否向我展示了您在项目中使用的完整方法?
-
这是正常的,如预期的那样,如果文本为nil,标签不会有高度或宽度,如果你需要给它值,你必须通过重新加载或开始强制单元格重新布局/结束更新
-
刚刚在别处读到这是 iOS 8 中的一个问题,并在 9 中解决。看起来它仍然存在于 tvOS 10 中。
标签: uitableview uikit tvos