我有一个可重用的UITableViewCell作为我的故事板的一部分,我需要在设置文本后使用sizeToFit。为了实现这一点,我在我的单元类的layoutSubviews方法中执行sizeToFit。
但问题是我没有看到任何更新,我已经尝试设置needsDisplay / Layout但是在单元格需要完全重新渲染之前我无法看到任何更新(当我向下滚动时或者当我开始并结束对tableView的更新时。)
答案 0 :(得分:0)
我设法通过为UILabel创建一个类来解决这个问题,然后在我的子类UILabel的layoutSubviews中执行需求。
答案 1 :(得分:0)
如果您使用的是自动布局,请尝试在单元格的layoutSubviews
方法中设置标签的preferredMaxLayoutWidth属性。设置该属性后,您需要再次致电[super layoutSubviews]
。
- (void)layoutSubviews
{
[super layoutSubviews];
// Make sure that label's text is set by now
self.label.preferredMaxLayoutWidth = self.label.frame.size.width;
[super layoutSubviews];
}