我使用的是在故事板中设置的静态UITableview。对于某些单元格(Style = Right detail),我在viewWillAppear中设置detailTextlabel.text如下:
self.recentProductsCell.detailTextLabel.text = description;对于此单元格,不会显示标签。如果我NSLog文本,它显示为OK。我检查了detailTextLabel是否被隐藏。我没有更改故事板中的任何其他属性。该单元格有一个detailDisclosure附件,但将其设置为其他值没有任何帮助。
然后奇怪的是:如果我运行时detailTextlabel没有显示,我会通过点击并移动手指来选择该行。从那时起,detailTextLabel就会显示出来!即使在隐藏和重新显示视图时,标签也保持可见。但是,在代码中重置和设置它会使标签再次消失。
我是不是做错了什么,或者这是个bug?
已编辑:在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];它可以工作,但我可以看到行被选中和取消选中。因此,我还更改了selectionStyle,但现在当显示视图时,该行闪烁。
额外说明:在同一个viewWillAppear中,我设置了其他静态单元格的detailLabel,它们显示得很好。
发布于 2012-04-04 03:13:19
我确实找到了detailLabel没有出现的时间,而不是为什么,我知道这是个bug。
如果detailLabel.Text的前一个值为nil或空字符串,则detailLabel在设置为新值后不会显示。如果我将detailLabel设置为nil/empty以外的任何值(最初),然后将其设置为其他值,新值将正确显示。
不显示的原因可能比之前的空更复杂,但在我的例子中,这解决了我的问题。如果我想让detailLabel是“空的”,我可以用背景色来显示它。
发布于 2012-04-27 08:45:39
我有一份这期的复制品。相同的配置-情节提要中的静态单元格,但具有左侧细节单元格。我还看到了触摸单元格使其可见的问题。
我通过将故事板中的初始细节标签内容设置为单个空间来解决此问题。在代码中设置了实际的详细标签内容后,我向详细标签发送了一条sizeToFit消息。
发布于 2012-03-30 21:57:30
尝试设置单元格样式= subtitle
https://stackoverflow.com/questions/9944357
复制相似问题