通过具有约束的自调整大小来扩展和折叠TableView单元格

时间:2018-07-20 10:58:14

标签: ios swift tableview

我想在没有heightForRowAt()的情况下在表格视图中展开和折叠单元格。我只想使用布局约束。

我已阅读Self-sizing表格视图单元格并检查了this post中的解决方案

现在我有一个问题:当我触摸表View中的单元格时,它没有发生,当我双击它时,它就起作用了;只是一次。我不明白发生了什么。

这部影片有什么亮点:(link

这是my code

2 个答案:

答案 0 :(得分:0)

您的问题是,您将isExpanded逻辑放置在可能会出队并导致错误值的单元格内部,您需要像这样将其放置在模型中,因此创建一个Content数组

struct Content {
   var title:String
   var subTitle:String
   var isExpanded:Bool
}

//

查看完整的编辑Here(很抱歉,不在github上,并且排除了视频资产)

//

enter image description here

答案 1 :(得分:0)

选择表视图的单元格后,将 cell.isExpanded 标志更改为 true ,但将 tableView.reloadRows(位于:[indexPath],带有:.fade)此代码调用您的cellforindex方法并创建新的单元格。因此您的逻辑由于单元的可重用性而出错。