我有一个UITableView,它显示来自各种社交网络的更新帖子。我有自定义UITableViewCell子类,里面有一个自定义UIView,它负责绘制所有标签和图像,类似于Apple在这里描述的方式:http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/TableView_iPhone/TableViewCells/TableViewCells.html#//apple_ref/doc/uid/TP40007451-CH7-SW18
在此视图的-layoutSubviews调用中,我找到了各种标签所需的大小,并相应地设置了它们的帧。但是,在稍微滚动之后,很明显,当单元格被回收时,不会调用-layoutSubviews,这导致某些单元格的标签框架设置不足以显示其内容。当我的数据对象通过单元格传递到自定义视图时,我调用[self setNeedsDisplay],我认为这会导致单元格调用-layoutSubviews。
如何才能最好地确保为发送给他们的内容正确调整标签大小?
答案 0 :(得分:1)
如果要强制布局,请将setNeedsLayout
(不是setNeedsDisplay
)发送到视图。听起来您需要在返回单元格之前在[cell setNeedsLayout]
中发送tableView:cellForRowAtIndexPath:
。