当键盘出现时,我的代码完美工作以减小UITextView
的大小。问题是,该方法的签名是神秘:keyboardDidShow被称为,但它不是有线
- (void)keyboardDidShow:(NSNotification*)aNotification
但调用代码
//[nc addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:nil];
被注释掉了!我在XCode中使用grep和重构搜索低和高(以查看还有谁可能调用该方法),并且什么都没有出现。我已经检查过笔尖以防万一。我曾尝试清洁目标等,但无济于事。如果我重命名方法,它不会被调用(但这不会产生错误)。关于这种方法如何“有线”的任何想法?
你可以'NSLog'通知对象吗? – Joost 2010-08-01 17:37:36
@JoostK,我检查了NSNotification对象,它只是'NSConcreteNotification'的一个实例,但没有什么有趣的。 – 2010-08-01 17:57:44
然后很奇怪。这个方法在什么类中实现?我想'UIViewController'子类?我创建了一个测试项目并在视图控制器中实现了这个方法,但没有被调用,所以它看起来并没有被UIKit调用。你是否已经完成了对UIKeyboardDidShowNotification项目的全面搜索?你说你重命名方法时没有错误,但是你在你的Build Settings中启用了'GCC_WARN_UNDECLARED_SELECTOR'吗? – Joost 2010-08-01 23:32:27