がUITableViewCell
内に作成されると、その使用可能なアクションが から自動的にUITableView
取得されます。UITableViewDelegate
– tableView:canPerformAction:forRowAtIndexPath:withSender:
ある程度の時間が経過した後、最初に作成された UITableViewCell がまだ画面に表示されていると仮定しますが、内部のカスタム ステータスが更新され、以前よりも多くのアクションを処理できるようになりました。そのセルに関連付けられたアクションは、UITableView が新しいセルを再度キューから取り出すまで更新されません。
このスキーマは私の質問を明確にするのに役立つかもしれません:
- myCell =
copy:
アクションが利用可能な新しいセル。 - tableview で利用可能なアクションを取得します
myCell
。 - ユーザーがセルを押し続ける
UIMenuController
と、アクションとともに a が表示されますCopy
。 - myCell の内部ステータスが更新され、
copy:
とdelete:
アクションの両方を処理できるようになりました。 - ユーザーはセルをもう一度押し続け
UIMenuController
、オプションでのみ表示されCopy
ます。
内部では、canPerformAction:...
現在のセルの内部ステータスに応じて異なる値を返しています。
注:小さなスクロールを実行して myCell を再度キューから取り出すと、セルをもう一度押すUIMenuController
と、更新されたアクションが表示されcopy:
ますdelete:
。
問題は、更新されたセルに対して新しい利用可能なアクションを要求するように UITableView を作成するにはどうすればよいかということです。