Mar*_*uso 6 iphone cocoa-touch objective-c iphone-sdk-3.0
我有一个UITableView风格"Grouped",我用它在我的应用程序中设置一些选项.我希望这个UITableView的一个单元格只显示取决于是否激活了另一个UITableView的单元格.如果不是,则第一个单元格应该显示(最好是平滑动画),如果是,则第一个单元格应该隐藏.
我尝试返回nil适当-tableView:cellForRowAtIndexPath:的隐藏单元格,但这不起作用,而是抛出异常.
我目前陷入困境,没有想法如何解决这个问题,所以我希望你们中的一些人可以指出我正确的方向.
ger*_*ry3 11
您应该从表视图的数据源中删除隐藏单元格后面的数据.
例如,如果您正在使用数组,当发生导致隐藏单元格的操作时,您将从该数组中删除该行的对象.然后,作为表视图的数据源,该数组将返回少一个总计数,并且仅为该计数中的每一行返回有效单元格(不为零).
这种方法可能需要维护包含所有对象(包括隐藏)的第二个数组.
要更新视图,请查看reloadRowsAtIndexPaths:withRowAnimation : .
这是一篇方便的文章,其中作者提供了一些在当前所选单元格上执行动画的源代码:
http://iphonedevelopment.blogspot.com/2010/01/navigation-based-core-data-application.html
他用这一个NSFetchedResultsController范围内,但你可以看到他是如何使用各种呼叫添加/删除细胞与部分.
现在,你的情况,你需要修改你使用主办用来生成您的tableView行中的数据,当您"激活"你的细胞,然后有选择地使用任何数组:
相应地调整事物(你可以从tableView:reloadData:开始,但效率很低).
我意识到API可能有点令人生畏,但要花时间阅读它并了解各种调用的作用.了解UITableView如何使用其数据源和委托,以及选择/删除单元格时发生的事件链等,如果您想要正确(并且无崩溃),这一点非常重要.
| 归档时间: |
|
| 查看次数: |
16211 次 |
| 最近记录: |