我有一个包含labell
的自定义TableViewCell
。我想在显示单元格时检查标签的大小以确定文本是否被截断。我找到了处理这个主题的不同主题,但没有任何对我有用。我尝试检查 layoutSubviews
override func layoutSubviews() {
super.layoutSubviews()
print(label.bounds.size.width)
}
并实现 willDisplay
委托(delegate)
override func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
.....
print(cell.label.bounds.size.width)
}
在加载 View 之前,我总是获得相同的标签宽度(在界面生成器上设置的宽度)
编辑:
如果我重新加载 tableView,我会得到正确的大小。您知道原因吗?
最佳答案
为了访问 CustomCell 的属性,您必须执行类似的操作:
let customCell = cell as! YourCustomCellClass
print(customCell.lbl_test.frame.size.width)
此方法可以在您的“willDisplay 单元格”中实现,如果您想单独访问每个单元格,那么您必须为每个单元格创建适当的 IndexPath
关于ios - 在哪里可以获得 UITableViewCell 内使用的标签的正确大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49301154/