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