UITableViewCell的详细文本标签在用户触摸之前是不可见的

时间:2015-05-21 18:10:31

标签: ios objective-c uitableview tableview

我在静态& 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];

你们有没有人知道为什么会这样,以及如何解决它?

非常感谢!

更新

正确显示的标签:

enter image description here

显示不正确的标签:

enter image description here

1 个答案:

答案 0 :(得分:0)

这是一个已知的iOS 8错误,如果字幕以nil开头,则字幕最初不会出现。

如果您确保detailTextLabel永远不会为空(或为空),即使在故事板中也应始终显示。

如果您有一些单元格没有字幕,您需要将其设置为空格而不是nil,否则问题将再次触发。

(Apple引入了一个"优化"错误,如果标签没有被使用,那么标签将被移除其超级视图。因此,对于第一个布局过程,它被添加回来太晚了一旦你给它指定了一个非零字符串,它就会正确调整大小。与单元格交互会使它突出显示,这就是标签在那一点正确显示的原因。)