代码之家  ›  专栏  ›  技术社区  ›  Oscar Gomez

如何标记多个UITableViewCells并对标记的单元格执行操作?

  •  2
  • Oscar Gomez  · 技术社区  · 15 年前

    我想做的几乎是邮件应用程序所做的:当我选择编辑,而不是通常的删除按钮,单选按钮出现在可能被用户选中的一侧,然后用户可以单击按钮对标记的单元格执行操作(任何类型的操作,而不仅仅是删除)。有没有苹果的示例代码可以做到这一点?,是否有人可以提供一些关于如何执行此操作的代码或文档?谢谢。

    -奥斯卡

    2 回复  |  直到 15 年前
        1
  •  2
  •   Stefan Arentz    15 年前

    下面是一篇关于进行邮件样式多重选择的好文章:

    http://cocoawithlove.com/2009/01/multiple-row-selection-and-editing-in.html

        2
  •  3
  •   Ole Begemann    15 年前

    我没有这样做,所以下面的所有内容都直接来自文档。我就是这样做的:

    1. 覆盖视图控制器的 setEditing:animated: 方法在表进入编辑模式时显示一个或多个按钮以执行批处理操作(就像mail.app那样)。
    2. 为单元格使用自定义的UITableViewCell子类。
    3. 关键是要覆盖 willTransitionToState: 在自定义单元格类中。在此方法中,将包含单选按钮的自定义子视图添加到单元格中。
    4. 重写 layoutSubviews 将单选按钮和单元格内容的其余部分放置在单元格中。
    5. tableView:didSelectRowAtIndexPath: ,区分正常和编辑状态。如果表格处于编辑模式,用户点击一个单元格,则将其标记为选中(相应地修改单选按钮子视图),并保留所有标记单元格的记录。