1

我有一个子类,为andUIView添加了一个观察者。这是在一个子类中。我还有另外两个包含. 当这些文本字段被点击时,我的自定义会收到这些通知。我为电子邮件编写器视图类型设置了这三个子类。UIKeyboardWillShowNotificationUIKeyboardWillHideNotificationUIViewUITableViewCellUITableViewCellUITextFieldsUIViewUITableViewCell

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

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

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

[[NSNotificationCenter defaultCenter] addObserver:self selector@(selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:_webView];
4

1 回答 1

1

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

- (void)textFieldDidBeginEditing:(UITextField *)textField

查看编辑何时开始。这可以查看编辑何时结束:

- (void)textFieldDidEndEditing:(UITextField *)textField

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

关于UITextFieldDelegate协议的快速参考。


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

于 2012-06-21T14:57:20.340 回答