ios - 在 UITableView 中显示和隐藏特定的单元格类型(可能带有动画)

标签 ios uitableview ios7

我有一个 UITableView 并看到了这种效果,并想为我们的后续数据实现它:

menu_header
  menu_subheader
    * item
    * item
  menu_subheader
    * item
    * item  
    * item

基本上,我只想显示标题和子标题,然后当用户单击其中一个子标题时,它会显示项目(最好在动画 block 中)并适本地向下或向上调整其他单元格。像这样:

enter image description here

是否有预建组件可以执行此操作?想想看,我好像很想把这些item cells设置成隐藏的。我看过这个https://github.com/peterpaulis/StaticDataTableViewController但它看起来不适用于动态数据。看起来这应该很简单。关于如何完成这项工作的任何想法?理想情况下,我希望它能够在您单击它时插入数据,然后如果您单击另一个子标题,则关闭另一个子标题并添加到该子标题。

最佳答案

要在 TableView 中实现“折叠”,您有两种选择:

  • 根据每个部分的折叠/展开属性控制部分中的单元格数量。折叠或展开时,使用 tableView 上的 insertdeleteRowsAtIndexPaths:withRowAnimation: 方法。
  • 使用委托(delegate)方法控制单元格的高度。根据每个部分的折叠/展开属性为折叠部分返回零。折叠或展开时,调用 beginUpdates,紧接着调用 endUpdates 重新计算高度并为新布局设置动画。

我在 this GitHub repo 中创建了第二个选项的简单实现。 .如果您对此有其他疑问,请告诉我。

关于ios - 在 UITableView 中显示和隐藏特定的单元格类型(可能带有动画),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25676433/

相关文章:

iphone - 有很多 "initWith"参数通常是不好的做法吗?

ios - 不应使用 ejabberd 中的 mod_apns.erl 接收被阻止的用户的通知

ios - uitableviewcells 与 3 个重叠中的前 2 个单元重叠

objective-c - iOS 在 UITableViewCells 之间显示 UIDatePicker

ios - 将数据从子 Controller 传递回父 Controller

objective-c - 组织数据模型 objective-c

objective-c - 当再次滚动表格 View 时,单元格显示为空白?

iOS UItableView 按索引路径从数组中删除对象

ios - 导航 Controller 呈现在我导航到的 View 上

ios - CocoaPods 无法正确导入 SDK 框架