iOS6GMを搭載したiPadの場合。6つのUITextFields、3つのUITextViews、およびポップオーバー/アクションシートをトリガーするUIButtonがあります。
UITextFieldsまたはUITextViewsのいずれかを選択すると、キーボードがポップアップしてカーソルが表示されますが、テキストを入力できません。UIButtonを押してポップオーバーを表示し、その外側をタップしてポップオーバーを閉じ、UITextFieldsまたはUITextViewsに戻ると、機能します。
UITextxxxx.delegate=self;があります。それらすべてのために設定します。.hファイルのxibs、UITextFieldDelegate、UITextViewDelegateで「有効」と「ユーザーインタラクションが有効」がオフになっているほか、次の項目もあります。
- (BOOL)disablesAutomaticKeyboardDismissal {
return NO;
}
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
return YES;
}
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField {
return YES;
}
- (IBAction)textFieldReturn:(id)sender {
[sender resignFirstResponder];
}
- (BOOL)textViewShouldBeginEditing:(UITextView *)textView {
if (textView == notestextView){
[notestextView becomeFirstResponder];
}
if (textView == notestextViewTwo){
[notestextViewTwo becomeFirstResponder];
}
if (textView == notestextViewThree){
[notestextViewThree becomeFirstResponder];
}
return YES;
}
- (BOOL)textViewShouldEndEditing:(UITextView *)textView {
return YES;
}
[xxxxxxxbecomeFirstResponder]も試しました。viewDidLoadで。これにより、実行時にキーボードがポップされ、フィールドにカーソルが置かれますが、UIButtonをタップしてポップオーバーを表示するまで、キーボードを入力できません。
なぜ私がフィールドに入力できないのか、そしてなぜポップオーバーを呼び出すと「それを修正する」のか誰もが知っていますか?
更新9/18:テキストフィールドとテキストビューを含むビューを持つ新しいビューをアプリにプッシュしました。委任者はすべて設定されています。同じ動作。キーボードとカーソルが表示されますが、入力は行われません。それは、ポップオーバーコントローラーが物事を台無しにすることを除外します。
私はこれがiOS6のバグだと強く思い始めています。これは、iOS 4および5のiPhoneバージョンのアプリで見たものとほぼ同じで、問題は発生しませんでした。iPhoneとiPadのバージョンの唯一の違いは、イメージピッカーの表示方法です。iPadにはポップオーバーを使用する必要があります。だから私はポップオーバーの代表がそれと関係があると思っていました。
iOS 6でUITextFieldsとUITextViewsを実装することの間に、私が知らない基本的な違いはありますか?ありそうもないようです。
それが私のアプリがこのように流れるのを助けるなら:
10個のボタンを備えたメインビュー
- 各ボタンは、ナビゲーションコントローラーを介してテーブルビューを押します
- テーブルビューは詳細ビューをプッシュします-テキストフィールドとテキストビューは上記の動作を示します
- tableviewには、モーダルビューを押して新しいアイテムを追加する追加ボタンもあります。テキストフィールドとテキストビューは、上記の動作を示します。