У меня есть приложение, которое просто состоит из 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? accessoryView - это отдельное представление в моем ViewController. Тем не менее, он правильно подключен (и он отлично работает, если я запускаю приложение с включенной клавиатурой).
Любые идеи будут очень признательны. Извините, если это очевидно, но я все еще новичок, и эти вещи вызывают огромные головные боли.