Как использовать 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).