在 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 为更新的单元格请求新的可用操作?