iphone - 我可以根据另一个单元格的状态显示/隐藏 UITableView 中的某个单元格吗?

标签 iphone objective-c cocoa-touch iphone-sdk-3.0

我有一个样式为“分组”的 UITableView,我用它来在我的应用程序中设置一些选项。我希望此 UITableView 的一个单元格仅根据此 UITableView 的另一个单元格是否被激活而显示。如果不是,则应显示第一个单元格(最好使用流畅的动画),如果是,则应隐藏第一个单元格。

我尝试在适当的 -tableView:cellForRowAtIndexPath: 中返回 nil 以隐藏单元格,但这不起作用,而是抛出异常。

我目前陷入困境,不知道如何解决这个问题,所以我希望你们中的一些人能给我指出正确的方向。

最佳答案

您应该从 TableView 的数据源中删除隐藏单元格后面的数据。

例如,如果您正在使用数组,当发生导致单元格隐藏的操作时,您将从数组中删除该行的对象。然后,作为 TableView 的数据源,该数组将返回总计数减一,并且只返回该计数中每一行的有效单元格(没有 nil)。

此方法可能需要维护包含所有对象(包括隐藏对象)的第二个数组。

要更新 View ,请查看 reloadRowsAtIndexPaths:withRowAnimation: .

关于iphone - 我可以根据另一个单元格的状态显示/隐藏 UITableView 中的某个单元格吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2071962/

相关文章:

iphone - 在Objective C中初始化自定义类型的@property

iphone - 使用 AVAssetExportSession 导出 Wav 文件

ios - UIView 中的 MPMoviePlayerController

iphone - 互斥锁上的阻塞是否相当于空 while 循环?

iphone - distanceFromLocation 似乎不起作用

iphone - 是否可以制作三角形 UIView?

ios - 在 iOS 中摆脱键盘

ios - 在 Swift 中结合 CGBitmapInfo 和 CGI​​mageAlphaInfo

ios - 具有返回零高度的裁剪属性的 CTFramesetterSuggestFrameSizeWithConstraints

Objective-C:self = nil 不会将实例设置为空值