【问题标题】:UITableViewCell - Can I show the 'Delete' button programatically?UITableViewCell - 我可以以编程方式显示“删除”按钮吗?
【发布时间】:2014-03-09 23:44:55
【问题描述】:

当用户在单元格上滑动时,启用滑动删除按钮是微不足道的。但是,我想在发生不同事件时显示此删除按钮。这可能吗?


请注意,添加我自己的删除按钮也很简单,但出于几个原因,我想使用 Apple 的 - 本地化、即将推出的 iOS 版本的一致性等。

【问题讨论】:

  • 是否将表格视图设置为编辑模式并实现tableView:editingStyleForRowAtIndexPath:您要查找的内容?
  • @Wain 不抱歉,这会显示一个红色减号,您需要点击它才能看到删除按钮 - 我想跳过这一步。
  • 好的,我不确定有没有办法做到这一点......

标签: ios uitableview


【解决方案1】:

TL:DR;不,此事件会响应 UITableViewDelegate 协议中的手势触发,您不能手动调用它。你必须自己动手。

tableView:willBeginEditingRowAtIndexPath: 是您第一次有机会捕捉到启动 Apple 预构建单元格编辑模式的事件(假设 tableView 的 dataSource 已配置 tableView:commitEditingStyle:forRowAtIndexPath:...)并且它已被硬连接到 tableView 识别的滑动​​手势本身。

tableView 捕获此 UISwipeGesture 和调用 tableView:willBeginEditingRowAtIndexPath: 之间的所有内容都隐藏在 UITableView 的私有 API 中。

虽然我们中的许多人确实将这些“编辑”视图混为一谈,以便在我们的应用程序中启动其他东西,而不必继承 UITableViewCell 子类,但让这种辅助视图显示在您的单元格中,以响应不仅仅是滑动手势是子类化的完美用例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    • 2011-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多