UIKeyboardWillShow / WillHide通知,如何知道这些通知何时适用于被监禁的观察者

时间:2012-06-21 14:45:07

标签: ios uiview uitableview nsnotificationcenter

我有一个UIView子类,其中添加了UIKeyboardWillShowNotificationUIKeyboardWillHideNotification的观察者。此UIView位于UITableViewCell子类中。我有两个包含UITableViewCell的{​​{1}}子类。点击这些文本字段后,我的自定义UITextFields会收到这些通知。我为电子邮件编辑器视图类型设置了这三个UIView子类。

如何确保当我的UITableViewCell子类收到键盘时,会显示或隐藏适用于UIView的通知,而不会显示包含ui文本字段的其他UIView的通知?

我应该提一下,我的UIView子类中有一个UIWebView。当点击一个contenteditable div时,我想收到键盘出现但只有我的UIWebView实例的通知。

我以为我可以做以下事情,但这似乎不起作用。

UITableViewCell's

1 个答案:

答案 0 :(得分:1)

我认为这取决于您需要的UIKeyboardNotification,您可以通过以下方式实现同​​样的目标:

- (void)textFieldDidBeginEditing:(UITextField *)textField

查看编辑何时开始。这是为了看编辑何时结束:

- (void)textFieldDidEndEditing:(UITextField *)textField

不要忘记您的UITableViewCells必须遵守UITextFieldDelegate协议。

Quick reference about the UITextFieldDelegate protocol


编辑:还有一件事,当您需要知道特定UITextField何时成为第一响应者时,我给您的解决方案是有意义的。如果您不关心这一点,并且您只需要知道键盘何时进出,您应该通知UIViewController而不是每个单独的单元格的UITableView。然后UIViewController应该采取适当的行动。