【发布时间】:2015-10-26 19:05:21
【问题描述】:
我已经研究了一天多,老实说,我完全被为什么它没有像我期望的那样工作。
我正在尝试根据其中的 UILabel 将 UITableViewCell 扩展为正确的大小。我使用以下代码来确定 UILabel 所需的大小:
extension UILabel {
func requiredHeight() -> CGFloat{
let label:UILabel = UILabel(frame: CGRectMake(0, 0, self.frame.width, CGFloat.max))
label.text = self.text
label.numberOfLines = 0
label.font = self.font
label.sizeToFit()
print("Final Size - \(label.frame.height)")
return label.frame.height + 10
}
}
我的问题是,尽管有这个大小 - 当 Cell 在 'heightForRowAtIndexPath' 方法中调整大小时 - 它仍然不是正确的大小并且字符串被截断,这可以在下图中看到。
注意 - 一旦加载视图并将文本填充到 UILabel 中,我就会收集所需的单元格大小。
requiredHeight = overviewLabel.requiredHeight()
if requiredHeight > overviewCell.frame.height {
expander.hidden = false
} else {
expander.hidden = true
}
任何关于如何解决此问题的建议将不胜感激。
【问题讨论】:
标签: ios iphone swift uitableview swift2