1

私のアプリは、iOS 4.1 を実行している iPhone では正常に動作しますが、iOS 4.2 では動作しません。UIInputField をファーストレスポンダに設定しましたが、キーボードが表示されません。becomeFirstResponder は、viewDidLoad メソッドで呼び出されます。それはバグですか、それとも Apple が大幅な変更を加えたのでしょうか? Xcode 3.2.5 を使用しています。

4

3 に答える 3

2

入力フィールドは User Interaction Enabled になっていますか? これは、iOS 4.2 で必須になりました。

于 2010-12-01T02:52:15.833 に答える
1

-viewDidLoadビューが最初に初期化されたときに呼び出されますが、表示されたときに呼び出されるとは限りません。代わりに-becomeFirstResponder内部で呼び出してみてください:-viewDidAppear:

 - (void)viewDidAppear:(BOOL)animated {
     [super viewDidAppear:animated];

     [myField becomeFirstResponder];
 }
于 2010-12-01T02:59:02.983 に答える
0

Apple Developer Forums (https://devforums.apple.com/message/325348#325348) で解決策が説明されているスレッドを見つけました。bebeFirstResponder への呼び出しが行われる前に、できれば viewDidLoad メソッドで、UITextField プロパティ userInteractionEnabled を YES に設定します。

于 2010-12-01T07:56:31.263 に答える