テーブルを長押しすると、テーブルで現在選択されているセルの選択が解除される場合の処理に問題があります。
再現:
- 複数のセルを持つUITableViewがあります
- セルをタップして選択します(青色に変わるか、選択スタイルに従う必要があります)
- 別のセルを長押しします
didDeselectRowAtIndexPath
結果:現在選択されているセルの選択が解除されますが、UITableViewDelegateメソッドまたははトリガーされませんdidUnhighlightRowAtIndexPath
。
期待される結果:このケースを処理できるように、何らかのコールバックが必要です。
選択したテーブルセルはsetSelected:NO animated:NO
、これが発生したときにメッセージを受信しますが、テーブル自体の状態を追跡するには十分ではありません。私が知らない他のコールバックはありますか?私は何かが足りないのですか?
を使用してみましたUILongPressGestureRecognizer
が、それは望ましくない方法でテーブルビューからイベント処理を盗むようです。
これは現在iOS6.0デバイスで発生しており、アプリはバージョン4.3までサポートしています。