2010-09-16 120 views
0

我的视图控制器具有UITextField对象作为子视图。控制器被设置为处理文本字段的UIControlEventTouchUpOutside事件的目标。 我想使用这个事件处理程序来解除键盘时,文本字段成为第一响应者,但它似乎永远不会被调用。像textFieldShouldReturn这样的委托方法工作得很好。UITextField是否使用触摸事件?

为什么文本字段对象不发送动作消息发送给目标?我尝试过这种方案来处理所有触摸事件,但没有运气。或者我必须以某种方式继承UITextField才能捕获此事件?

提前致谢!

回答

0

的UITextField肯定响应这些事件来处理光标定位等等。它可能不会将这些事件“转发”给其父母。如果您需要截取的,你也可以继承UITextEvent和自己赶上那些事件(当然不要忘记调用[超级blablabla]为了保持标准的行为。

0

也许它只是不响应UIControlEventTouchUpOutside事件。我相信它会响应UIControlEventValueChanged事件。我认为你可以将一个透明的定制UIButtom作为背景视图,并且如果UIButtom中有任何touchInSideUp,你可以根据需要解散键盘。

-1

它响应同一事件的UIButton。看看IB。你也可以考虑使用UITextFieldDelegate方法

- (BOOL) textFieldShouldBeginEditing:(UITextField *)textField 
+0

并不UIControlEventTouchUpInside回应 – meteors 2015-05-04 08:14:30