Xcode 4.3.3 と iOS 5.1 を使用して、iPad アプリを開発しています。
ナビゲーション バー (ストーリーボード内) の titleView として UITextField があり、次のようにアウトレットに接続されています。
@property (weak, nonatomic) IBOutlet UITextField *textFieldName;
viewDidLoad の実装の最後に、次のように呼び出します。
[self.textFieldName becomeFirstResponder];
そして...何も起こりません。UITextField をタップしてアクティブにできますが、ビューの起動時にフィールドをアクティブにできないようです。
背景: 前のビュー (UITableView) に行を追加すると、このビューにセグエされ、通常はビューのタイトルとして表示されるものが空の場合にテキスト フィールドを有効にしたいと考えています。つまり、データベースに新しい行を作成するときに、ユーザーの最初のアクションがタイトルの入力になるようにしたいと考えています。私は他のアプローチを受け入れていますが、述べられた質問を達成する方法を知りたいと思っています。
編集
次のように呼び出して動作させることができました:
[self.navigationItem.titleView becomeFirstResponder];