ma11hew28
ma11hew28

Reputation: 126527

How to use UIKeyboardWillShowNotification

I want to create a ChatView exactly like iPhone's texting app (Messages). I'm doing it programmatically and am trying to move the textView up with the keyboard. I want to do this in a function that gets called by UIKeyboardWillShowNotification. Could you help me debug this error?

In ChatViewController.m, I set a listener for UIKeyboardWillShowNotification in the loadView function, and I set self as the textView delegate, but it crashes, saying: Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[ChatViewController keyboardWillShow]: unrecognized selector sent to instance

But I define keyboardWillShow in ChatViewController.m Why isn't it finding that function?

Here are the important files:

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

I commented out the listeners so that it doesn't crash.

Feel free to git clone [email protected]:acani/acani-chat.git

Thanks!

Upvotes: 2

Views: 4025

Answers (1)

jer
jer

Reputation: 20236

Lines 120 and 121 which you have commented out, but I presume are not meant to be since there is no other references to subscribing for notifications, has a problem when you pass the selector. The colon (:) in Objective-C message names are part of the name themselves. Therefore, you are missing a trailing colon to the selector you're passing in. Fix that, and that will get rid of your error.

Also, you should look at making a call to removeObserver: when your view goes away (viewDidUnload).

Upvotes: 2

Related Questions