iOS为什么UIView只有重新加载UITableView才能正确显示
iOS why is UIView displayed correctly only after reloading UITableView
我正在尝试向 UITableViewCell
中插入大量视图。
我添加视图并计算所需的常量。我无法解决一个问题。内部标签可以大于一行,当 UITableView
仅初始化时无法正确显示:一些裁剪的标签、错误的高度等。
但是当我重新加载 tableview 或滚动到底部元素并滚动回不正确的单元格时,所有视图都正确显示。
已编辑
示例:我有 UITableViewCell。每个单元格都包含多个属性(单独的视图)。每个属性视图都有标题(灰色文本)和属性值(还是单一视图)。每个属性值视图可能具有不同的高度。而且我假设高度在第一次计算时不正确。
当我首先构建 UITableViewCell 时,我构建了所有属性视图,然后我将每个视图添加到 Cell 并计算常量。
我已经解决了问题。
当我得到 UITableViewCell 时,它的框架宽度为 325,但 tableView 框架宽度为 375。因此内部视图的构建方式不正确。现在我只是将 Cell 的 contentView 设置为 tableView 框架。
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let identifier = "ListCell"
var cell = tableView.dequeueReusableCellWithIdentifier(identifier) as? ListViewCell
cell!.contentView.frame = tableView.frame
// additional setup
return cell!
}
我正在尝试向 UITableViewCell
中插入大量视图。
我添加视图并计算所需的常量。我无法解决一个问题。内部标签可以大于一行,当 UITableView
仅初始化时无法正确显示:一些裁剪的标签、错误的高度等。
但是当我重新加载 tableview 或滚动到底部元素并滚动回不正确的单元格时,所有视图都正确显示。
已编辑
示例:我有 UITableViewCell。每个单元格都包含多个属性(单独的视图)。每个属性视图都有标题(灰色文本)和属性值(还是单一视图)。每个属性值视图可能具有不同的高度。而且我假设高度在第一次计算时不正确。
当我首先构建 UITableViewCell 时,我构建了所有属性视图,然后我将每个视图添加到 Cell 并计算常量。
我已经解决了问题。
当我得到 UITableViewCell 时,它的框架宽度为 325,但 tableView 框架宽度为 375。因此内部视图的构建方式不正确。现在我只是将 Cell 的 contentView 设置为 tableView 框架。
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let identifier = "ListCell"
var cell = tableView.dequeueReusableCellWithIdentifier(identifier) as? ListViewCell
cell!.contentView.frame = tableView.frame
// additional setup
return cell!
}