如何使用UIKeyboardWillShowNotification

时间:2010-07-19 04:27:49

标签: iphone chat uitextview uitextviewdelegate

我想创建一个与iPhone的短信应用(消息)完全相同的ChatView。我正在以编程方式执行此操作,并尝试使用键盘移动textView。我想在一个由UIKeyboardWillShowNotification调用的函数中执行此操作。你能帮我调试一下这个错误吗?

在ChatViewController.m中,我在loadView函数中为UIKeyboardWillShowNotification设置了一个监听器,我将self设置为textView委托,但它崩溃了,说: 由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:'*** - [ChatViewController keyboardWillShow]:无法识别的选择器发送到实例

但我在ChatViewController.m中定义了keyboardWillShow 为什么不找到这个功能?

以下是重要文件:

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 个答案:

答案 0 :(得分:2)

您已注释掉的第120行和第121行,但我认为并不是因为没有其他引用来订阅通知,因此在传递选择器时会出现问题。 Objective-C消息名称中的冒号(:)是名称本身的一部分。因此,您正在传递给您传入的选择器的尾部冒号。修复它,这将消除您的错误。

此外,当您的视图消失时,您应该考虑调用removeObserver:(viewDidUnload)。