我正在更新约束的CellForRow方法。更新约束后,我应该调用哪个方法,setUpdateConsraint()或layoutIfNeeded()?或者只是返回细胞。无需调用任何方法?更新约束在cellforRow
回答
致电layoutIfNeeded()
并执行方法prepareForReuse
您需要重置约束的方法。
例如:
override func prepareForReuse() {
super.prepareForReuse()
yourConstraint.constant = defaultConstraint
}
为什么这是neeeded:当您滚动,因为细胞被重新使用它会随机使用的限制后。
cellForRowAt
是一个完全可以接受的地方来更新约束,然后简单地返回单元格。你并不需要调用别的:
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "SCellA", for: indexPath) as! SCellA
// Configure the cell...
cell.theLabel.text = "\(indexPath)"
cell.theHeightConstraint.constant = indexPath.row % 2 == 0 ? 40 : 100
return cell
}
当我做这个约束没有得到更新 –
*“约束没有得到更新”* ---你是什么意思?你不*看到*它?你是否收到错误或警告信息?其他一些代码是否也在改变'.constant'?如果您逐步进行调试,您会得到什么样的价值?你需要提供更多的信息。 – DonMag
更新约束常量值后,调用updateConstraint()工作正常。 –
- 1. 更新约束布局
- 2. 更新约束列表在Pyomo飞行
- 3. 约束没有在xcode中更新
- 4. 如何使用Masonry DSL更新约束?
- 5. 基于UIView约束更新UITableView大小
- 6. 使用snapkit更新约束上
- 7. SLQLite'更新时出错。 '约束失败''
- 8. 斯威夫特更新约束
- 9. 更新中的SQL约束IGNORE_DUP_KEY
- 10. UITableVeiwCell中的更新约束条件
- 11. iOS:同时更新约束和框架
- 12. 更新,外键约束和空值
- 13. Swift:更新视图约束不可见
- 14. 迅速更新约束编程
- 15. MySQL更新外键约束失败
- 16. 如何更新CALayer的约束条件?
- 17. Dojo:如何更新dojo.dnd.boxConstrainedMoveable上的约束?
- 18. mySQL更新,同时忽略表约束
- 19. 如何更新约束whenrotate景观
- 20. 更新UITableViewCell中的约束不正确
- 21. 外键约束是否在没有用约束更新列的SQL更新语句上检查?
- 22. UICollectionView在更改约束条件后更新单元格
- 23. 更改外键约束命名约定
- 24. 约束参数,新建()
- 25. 新的Oracle约束类型
- 26. scipy.optimize.leastsq有约束约束
- 27. 更改约束条件
- 28. 使UITextView更小的约束
- 29. 约束在TSQL
- 30. 在Xcode 8中更新特定设备的UI约束
调用cell.layoutIfNeeded()调用 – karthikeyan
layoutIfNeeded()用于更新的约束。 – shahnilay86