1

在 anUITableViewCell中创建 anUITableView时,它的可用操作会通过以下方式UITableViewDelegate自动从 中检索:

– tableView:canPerformAction:forRowAtIndexPath:withSender:

假设经过一段时间后,最初创建的 UITableViewCell 仍然在屏幕上可见,但其内部自定义状态已更新,现在它能够处理比以前更多的操作。在 UITableView 重新出列一个新单元之前,与该单元关联的操作永远不会更新。

此架构可能有助于澄清我的问题:

  • myCell = 具有copy:可用操作的新单元格。
  • tableview 获取可用的操作myCell
  • 用户按住单元格并UIMenuController显示Copy操作。
  • myCell 更新其内部状态,现在可以同时处理copy:delete:操作。
  • 用户再次按住单元格,UIMenuController仍然只显示该Copy选项。

在我的内部,我canPerformAction:...根据当前单元格内部状态返回不同的值。

注意:如果我只是执行一个小滚动,使 myCell 重新出队,当再次按下单元格时,UIMenuController将显示更新的copy:delete:操作。

所以问题是,我怎样才能让我的 UITableView 为更新的单元格请求新的可用操作?

4

0 回答 0