我有一个UIView
子类,其中添加了UIKeyboardWillShowNotification
和UIKeyboardWillHideNotification
的观察者。此UIView
位于UITableViewCell
子类中。我有两个包含UITableViewCell
的{{1}}子类。点击这些文本字段后,我的自定义UITextFields
会收到这些通知。我为电子邮件编辑器视图类型设置了这三个UIView
子类。
如何确保当我的UITableViewCell
子类收到键盘时,会显示或隐藏适用于UIView
的通知,而不会显示包含ui文本字段的其他UIView
的通知?
我应该提一下,我的UIView子类中有一个UIWebView。当点击一个contenteditable div时,我想收到键盘出现但只有我的UIWebView实例的通知。
我以为我可以做以下事情,但这似乎不起作用。
UITableViewCell's
答案 0 :(得分:1)
我认为这取决于您需要的UIKeyboardNotification
,您可以通过以下方式实现同样的目标:
- (void)textFieldDidBeginEditing:(UITextField *)textField
查看编辑何时开始。这是为了看编辑何时结束:
- (void)textFieldDidEndEditing:(UITextField *)textField
不要忘记您的UITableViewCells
必须遵守UITextFieldDelegate
协议。
Quick reference about the UITextFieldDelegate
protocol
编辑:还有一件事,当您需要知道特定UITextField
何时成为第一响应者时,我给您的解决方案是有意义的。如果您不关心这一点,并且您只需要知道键盘何时进出,您应该通知UIViewController
而不是每个单独的单元格的UITableView
。然后UIViewController
应该采取适当的行动。