detailTextLabel最初没有显示

Bji*_*nse 6 iphone uitableview

我正在使用静态UITableview,在故事板中设置.对于某些单元格(Style = Right detail),我在viewWillAppear中设置了detailTextlabel.text,如下所示:

   self.recentProductsCell.detailTextLabel.text = description;
Run Code Online (Sandbox Code Playgroud)

对于此单元格,标签不会出现.如果我NSLog它显示的文本是好的.我检查了detailTextLabel没有被隐藏.我没有改变故事板中的任何其他属性.该单元格有一个detailDisclosure附件,但将其设置为其他东西并没有帮助.

然后奇怪的是:如果我运行并且detailTextlabel没有显示,我通过点击它并移动我的手指来选择该行.从那时起,detailTextLabel确实显示了!即使隐藏和重新显示视图,标签仍然可见.但是,在代码中重置和设置它会使标签再次消失.

我可能做错了什么,或者这是一个错误?

编辑:检查5.0和5.1,相同的行为.我通过在viewWillAppear中的代码中选择和取消选择此行找到了一个丑陋的解决方法.所以我补充说:

[self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:3 inSection:0] animated:NO scrollPosition:UITableViewScrollPositionNone];
[self.tableView deselectRowAtIndexPath: [NSIndexPath indexPathForRow:3 inSection:0] animated:NO];
Run Code Online (Sandbox Code Playgroud)

它可以工作,但我可以看到正在选择和取消选择的行.所以我也改变了selectionStyle,但现在这行在显示视图时闪烁.

额外评论:在同一个viewWillAppear中,我设置了其他静态单元格的detailLabel,它们显示得很好.

Bji*_*nse 9

我确实发现detailLabel没有显示,不是为什么,恕我直言,这是一个错误.

如果detailLabel.Text的先前值为nil或空字符串,则在将其设置为新值后,detailLabel不会显示.如果我将detailLabel设置为除nil/empty之外的任何内容(最初),然后将其设置为其他内容,则会正确显示新值.

没有显示的原因可能更复杂,然后才是空的,但在我的情况下,这解决了我的问题.如果我希望它为"空",我可以在背景颜色中显示detailLabel.


Jas*_*ris 5

我有这个问题的副本.相同配置 - 故事板中的静态单元格,但具有左侧详细信息单元格.我还看到触摸细胞使其可见的问题.

我通过将故事板中的初始详细标签内容设置为单个空间来解决这个问题.在代码中设置实际的详细标签内容后,我将sizeToFit消息发送到详细信息标签.