我在iOS中使用动态高度上的单元格的自动布局,我遇到了一个随机发生的非常奇怪的错误。似乎有时我滚动太快(虽然不是所有时间),但是有一个分隔符显示在单元格上,好像高度计算得不够快。有人能指出我可能出错的方向吗? 这是我在cellforRowAtIndexPath中的代码: cell.layoutIfNeeded()
// http://stackoverflow.com/questions/16366596/uitableview-performance-issues-when-adding-uiviews-to-cell-contentview
cell.layer.shouldRasterize = true
cell.layer.rasterizationScale = UIScreen.mainScreen().scale
cell.layer.opaque = true
cell.opaque = true
计算身高的代码:
func viewDidLoad() {
tableView.rowHeight = UITableViewAutomaticDimension
self.tableView.sectionFooterHeight = UITableViewAutomaticDimension;
self.tableView.estimatedSectionFooterHeight = 10;
self.tableView.delegate = self
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
cell.selectionStyle = UITableViewCellSelectionStyle.None
cell.layoutIfNeeded()
// http://stackoverflow.com/questions/16366596/uitableview-performance-issues-when-adding-uiviews-to-cell-contentview
cell.layer.shouldRasterize = true
cell.layer.rasterizationScale = UIScreen.mainScreen().scale
cell.layer.opaque = true
cell.opaque = true
return cell
}
func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 0
}
func tableView(tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 10
}