我在静态& amp;中获得了UITableViewCell设置。分组tableView。单元格的样式是副标题,我可以像这样设置它的初始值(问题保持不变,无论我使用哪个):
self.myCell.detailTextLabel.text = [NSString stringWithFormat:@"%f test", testFloat]];
或者像这样:
self.myCell.detailTextLabel.text = @"not set";
细胞的detailTextLabel是看不见的,直到我把手指放在它上面,我甚至不必释放它,只需将它放在细胞上,使它变成一点深灰色。
我在设置初始单元格文本后,在viewWillAppear中尝试了这两个,问题保持不变:
[self.myCell setNeedsLayout];
[self.myCell setNeedsDisplay];
你们有没有人知道为什么会这样,以及如何解决它?
非常感谢!
更新
正确显示的标签:
显示不正确的标签:
答案 0 :(得分:0)
这是一个已知的iOS 8错误,如果字幕以nil开头,则字幕最初不会出现。
如果您确保detailTextLabel
永远不会为空(或为空),即使在故事板中也应始终显示。
如果您有一些单元格没有字幕,您需要将其设置为空格而不是nil,否则问题将再次触发。
(Apple引入了一个"优化"错误,如果标签没有被使用,那么标签将被移除其超级视图。因此,对于第一个布局过程,它被添加回来太晚了一旦你给它指定了一个非零字符串,它就会正确调整大小。与单元格交互会使它突出显示,这就是标签在那一点正确显示的原因。)