を使用しUITableView
てアイテムのリストを表示し、行が選択されると、そのアイテムをその隣の詳細ビューに表示します (分割ビュー コントローラーを使用)。
テーブルビューの選択が変更されると、詳細ビューも変更されます。これはもちろん標準的な動作であり、問題なく動作します...テーブルビューで行が選択されていない場合を除きます。
たとえば、ユーザーはテーブル ビューから行を削除できます。削除中および削除後も、テーブル ビューで選択された行はありません。もちろん、行が削除された後、詳細ビューコントローラーに通知しますが、テーブルビューでの編集プロセス中に行が選択されていない場合、詳細ビューコントローラーはこれを認識しません。
を使用しようとしましたUITableViewSelectionDidChangeNotification
が、選択解除が発生したときではなく、ユーザーが別の行を選択したときにのみ送信されます。
テーブル ビューで行が選択されている状態から選択されていない状態に切り替わったことを通知するにはどうすればよいですか?
編集:
一時的な解決策として、編集ボタンの名前を「並べ替え」に変更し、A から B への行の移動のみを許可し、削除コントロールを許可しないようにしましたが、これは実行できません。行の編集を有効にしないと移動コントロールはありません。 . 問題は、移動する行へのポインターを取得するので、それを選択したままにすることができるということです。削除する行のこのポインターを取得できないので、私には向いていません。ユーザーが作業している行を常に知り、その行を常に選択したままにします。
標準の編集動作を捨てて、独自のボタンとメソッドを追加する必要があるかもしれません。または、任意の行でのタッチをキャプチャするためにジェスチャで何ができるかを確認してください...