我有一个样式为“分组”的 UITableView,我用它来在我的应用程序中设置一些选项。我希望此 UITableView 的一个单元格仅根据此 UITableView 的另一个单元格是否被激活而显示。如果不是,则应显示第一个单元格(最好使用流畅的动画),如果是,则应隐藏第一个单元格。
我尝试在适当的 -tableView:cellForRowAtIndexPath:
中返回 nil
以隐藏单元格,但这不起作用,而是抛出异常。
我目前陷入困境,不知道如何解决这个问题,所以我希望你们中的一些人能给我指出正确的方向。
最佳答案
您应该从 TableView 的数据源中删除隐藏单元格后面的数据。
例如,如果您正在使用数组,当发生导致单元格隐藏的操作时,您将从数组中删除该行的对象。然后,作为 TableView 的数据源,该数组将返回总计数减一,并且只返回该计数中每一行的有效单元格(没有 nil)。
此方法可能需要维护包含所有对象(包括隐藏对象)的第二个数组。
要更新 View ,请查看 reloadRowsAtIndexPaths:withRowAnimation: .
关于iphone - 我可以根据另一个单元格的状态显示/隐藏 UITableView 中的某个单元格吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2071962/