UITableView
のセルにはUITextField
オブジェクトが含まれていますが、最初のレスポンダはそのセルが再利用されないようにするオブジェクトですか?UITableViewCellの最初のレスポンダステータスを持つUITextFieldはセルの再利用を防ぎますか?
例えば、UITableView
が画面に収まるよりも多くの行を持つ場合、UITextField
をタップしてそのセルのフィールドのキーボードを表示することができます。次に、テーブルビューをスクロールしてそのセルを画面から外します。セルにスクロールすると、UITextField
を含むセルを除いて、すべてのセルに対して-tableView:cellForRowAtIndexPath:
への呼び出しを見ることができます。
この現象は、iOSが自分のセルに最初のレスポンダが含まれていることを認識しているため、セルを破棄しないよう選択しているため、データソースを呼び出してビューに戻るときにセルを取得する必要はありません。
この動作は望ましいことですが、この動作が保証されていることを示すドキュメントはありませんでしたし、それが真でない条件がある場合は頼りたくありません。
誰もが、この状況をカバーするテーブルビューのセル再利用と最初のレスポンダーに関するドキュメントを教えていただけますか?
UITableviewCellをサブクラス化し、メソッド - (void)prepareForReuse {}を上書きして、セルが再利用できるかどうかを確認できますか? – imthi
これは文書化されているかどうかはわかりませんが、確かに1つのことは確かです。それは自動的なようだから、考慮する必要はありません。 –