2011-07-14 9 views
1

私はその中にテキストフィールドをポップアップし、テキストフィールドを最初のレスポンダにしてすぐにキーボードを表示するように警告するビューを持っています。UIAlertView内のUITextFieldを最初のレスポンダにすると、キーボードが表示されないのはなぜですか?

私は[summaryField becomeFirstResponder]を使用します。テキストフィールドにカーソルが点滅しますが、キーボードはポップアップしません。しかし、テキストを最初の応答者にしてアラートが表示されたら、その内部をクリックするだけでキーボードがポップアップします。

キーボードを表示せずにテキストフィールドが最初のレスポンダになる方法についてのアイデアはありますか?私は、それがテキストフィールドがアラートビューのサブビューとして追加されることと関係があると推測しますが、問題の正確な内容はわかりません。私のコードは、 "becomeFirstResponder"コールなしで、下にあります。

UIAlertView *titleAlert = [[UIAlertView alloc] initWithTitle:@"Enter title" message:@" "  
    delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
summaryField = [[UITextField alloc] initWithFrame:CGRectMake(20.0, 45.0, 245.0, 25.0)]; 
[summaryField setBackgroundColor:[UIColor whiteColor]]; 
[titleAlert addSubview:summaryField]; 
[titleAlert show]; 
[titleAlert release]; 
[summaryField release]; 

答えて

2

UIAlertViewDelegatewillPresentAlertView:方法で[textField becomeFirstResponder]してみてください。

+0

驚くばかりです。私は実際に "didPresentAlertView"を使用しなければなりませんでしたが、私はあなたの答えなしでそれを理解していないでしょう。ありがとう! – bennetthansen

+0

これは、iOS 7デバイスに配備していても、Xcode6を使用してビルドしても機能しません。 – progrmr

関連する問題