在我的iOS应用程序中,我有几个可以处理用户输入的UIElement
:文本字段,可编辑的网页浏览等等。每当我在这些UIElement
中写入内容时,键盘(显然)会出现。在它发生之前,我可以通过观察UIKeyboardWillShowNotification
来捕捉这个事件。
我想知道找出UIElement
调用此操作的方法是什么。
感谢您的帮助!
答案 0 :(得分:3)
当用户点击的视图设置为FirstResponder时,键盘会启动,所以我认为这个问题相当于在收到UIKeyboardWillShowNotification时说how do I get the current first responder。
托马斯·穆勒的answer to that question使用了类扩展:
@implementation UIView (FindFirstResponder)
- (UIView *)findFirstResponder
{
if (self.isFirstResponder) {
return self;
}
for (UIView *subView in self.subviews) {
UIView *firstResponder = [subView findFirstResponder];
if (firstResponder != nil) {
return firstResponder;
}
}
return nil;
}
@end
所以我认为您可以在UIKeyboardWillShow的处理程序中使用它来找出导致它的原因。
答案 1 :(得分:-1)