Как использовать UIKeyboardWillShowNotification

Я хочу создать ChatView точно так же, как текстовое приложение iPhone (Сообщения). Я делаю это программно и пытаюсь переместить textView вверх с помощью клавиатуры. Я хочу сделать это в функции, которая вызывается UIKeyboardWillShowNotification. Не могли бы вы помочь мне отладить эту ошибку?

В ChatViewController.m я установил прослушиватель для UIKeyboardWillShowNotification в функции loadView, и я установил self в качестве делегата textView, но он вылетает, говоря: "Завершение приложения из-за необработанного исключения" NSInvalidArgumentException ", причина: '*** -[ChatViewController keyboardWillShow]: нераспознанный селектор, отправленный экземпляру

Но я определяю keyboardWillShow в ChatViewController.m Почему он не находит эту функцию?

Вот важные файлы:

http://github.com/acani/acani-chat/blob/master/Lovers/Classes/ChatViewController.h http://github.com/acani/acani-chat/blob/master/Lovers/Classes/ChatViewController.m

Я закомментировал слушателей, чтобы они не зависали.

Не стесняйтесь git клон git@github.com:acani/acani-chat.git

Спасибо!

1 ответ

Решение

Строки 120 и 121, которые вы закомментировали, но я полагаю, не предназначены для этого, так как нет других ссылок на подписку на уведомления, возникает проблема, когда вы передаете селектор. Двоеточие (:) в именах сообщений Objective C является частью имени. Таким образом, вы пропускаете двоеточие в селекторе, который передаете. Исправьте это, и это избавит вас от вашей ошибки.

Кроме того, вы должны смотреть на звонки removeObserver: когда ваш взгляд исчезает (viewDidUnload).

Другие вопросы по тегам