Как использовать UIKeyboardWillShowNotification - PullRequest
2 голосов
/ 19 июля 2010

Я хочу создать 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 clone git@github.com: acani / acani-chat.git

Спасибо!

1 Ответ

2 голосов
/ 19 июля 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...