我的视图控制器将UITextField对象作为子视图。控制器设置为目标以处理文本字段的UIControlEventTouchUpOutside事件。 我正在尝试使用此事件处理程序在文本字段成为第一响应者时解除键盘,但似乎从未调用过。像textFieldShouldReturn这样的委托方法工作正常。
为什么文本字段对象不向目标发送操作消息?我尝试了这个方案用于所有触摸事件,但没有运气..或者我是否必须以某种方式继承UITextField才能捕获此事件?
提前致谢!
答案 0 :(得分:0)
也许它只是没有响应UIControlEventTouchUpOutside事件。我相信它会响应UIControlEventValueChanged事件。我认为您可以将透明的自定义UIButtom作为背景视图,如果在UIButtom中有任何touchInSideUp,您可以根据需要解除键盘。
答案 1 :(得分:0)
UITextField肯定会响应那些事件来处理光标定位等等。它可能不会将这些事件“转发”给它的父母。如果你需要拦截那些,你可以继承UITextEvent并自己捕捉那些事件(当然不要忘记调用[super blablabla]以保持标准行为。
答案 2 :(得分:-1)
它响应与UIButton相同的事件。看看IB。您也可以考虑使用UITextFieldDelegate方法
- (BOOL) textFieldShouldBeginEditing:(UITextField *)textField