UITableView を表示している iOS アプリケーションがあります。UITableView は、UITextFields と UILabels で構成されるカスタム行で構成されています。最初の起動時に、UIImageView を閉じるためにユーザーがボタンを押すまで UITableView をカバーする UIImageView があります (したがって、その背後にある UITableView が表示されます)。
ただし、私の問題は、UITableView の最初の行にコントロールを返す代わりに、UITableView の最後の行を選択していることです。その上、メソッド「becomeFirstResponder」を明示的に呼び出しているにもかかわらず、UITextField UITableView の最後の行では、テーブルから行を明示的に選択するまでテキストを入力できません。そうして初めて、テキストを入力できるようになります。私のメソッド「cellForRowAtIndexPath」がテーブルを上から下に入力すると仮定しています。これが、テーブルの一番上ではなく最後の行が選択されている理由です (これは私の推測です。間違っている場合は修正してください)。
私がやりたいのは、ユーザーが UIImageView を閉じて、それが自動的に「firstResponder」になると、UITableView の最初の行を有効にして、ユーザーが特定の行を明示的に選択しなくてもすぐにテキストを入力できるようにすることです。
ボタンを押した後に UIImageView を閉じる私のコードは次のとおりです。
- (IBAction)beginDataEntry:(id)sender {
[_imageView removeFromSuperview];
[_cell.dataField becomeFirstResponder];
}
テーブルから行を明示的に選択するまで、私の UITableView は「リンボ」状態にあるかのようです。私は何を間違っていますか?