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 git@github.com:acani/acani-chat.git
Thanks!
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).
精彩评论