UITextViewだけで構成されるアプリがあります。アプリが読み込まれると、キーボードが表示され、AccessoryViewがキーボードの上に読み込まれて閉じられます。
これは、アプリのロード時にキーボードをロードしたくないと判断するまではうまく機能しました。問題は、テキストを編集しようとすると、アプリがクラッシュすることです(EXC_BAD_ACCESS)。なぜそうなのかよくわかりません。これが私のコードです-アプリをクラッシュさせるパッセージがマークされています:
- (void)viewWillAppear:(BOOL)animated {
// Make the keyboard appear when the application launches.
[super viewWillAppear:animated];
// [textView becomeFirstResponder];}
その後:
- (BOOL)textViewShouldBeginEditing:(UITextView *)aTextView {
// this crashes app if no keyboard is loaded in viewdidload:
if (textView.inputAccessoryView == nil) {
textView.inputAccessoryView = accessoryView;
self.accessoryView = nil;
}
return YES;
}
最後のifステートメントをコメントアウトすると、アプリは機能します...しかし、accessoryViewがありません。InterfaceBuilderで何か間違ったことをした可能性はありますか?AccessoriesViewは、私のViewControllerの別のビューです。ただし、正しく接続されています(キーボードをオンにしてアプリを起動すると、完全に機能します)。
どんなアイデアでも大歓迎です。これが明らかな場合は申し訳ありませんが、私はまだ初心者であり、これらのことは大きな頭痛の種を引き起こします。