如何在不违反AutoLayout约束的情况下隐藏UITableViewCells

Lar*_*man 7 iphone uitableview ios autolayout swift

我目前正在开发一款应用程序来学习iOS编程和Swift.我有一个包含两个主要子视图的视图,一个MKMapView和一个UITableView.当在MapView中选择某个注释时,我希望隐藏TableView中的某些单元格.如果取消选择注释,则应重新出现单元格.目前我通过将要隐藏的单元格的高度设置为0并调用来执行tableView.beginUpdates() tableView.endUpdates()此操作,但这会导致我的自定义单元格中的各种AutoLayout约束中断.我还尝试在将高度设置为0之前将单元格上的隐藏属性设置为true,但AutoLayout约束仍然被破坏.

这样做的正确方法是什么?

提前致谢.

Ale*_*rrù 5

我的 2 美分:只需尝试将冲突约束之一的优先级降低到较低的值,例如 UILayoutPriorityDefaultHigh (如果在 Interface Builder 中使用,则为 750)甚至更低,这取决于单元格的组成方式。给自动布局系统一个关于可以安全地打破哪个约束的提示应该就足够了。您可能想要打破定义距下边距的距离的约束。