在没有代表

时间:2015-05-05 04:58:17

标签: objective-c swift uiview uiscrollview uitextfield

是否可以在不使用委托或通知的情况下检测用户交互(如滑动滚动视图或开始编辑文本字段)?只使用最基本的触摸事件。

我一直在尝试使用touchesBegan和touchesEnded但这些并不总是被调用。

2 个答案:

答案 0 :(得分:0)

是的,您只需将IBAction连接到您的UITextField已发送事件 - 编辑已更改,因此每次文本字段更改时,都会调用您的IBAction。您可以对“编辑已开始”和“编辑已结束”执行相同的操作。

https://stackoverflow.com/a/29045440/2303865

答案 1 :(得分:0)

您可以识别触摸的对象并执行所需的操作。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{

    [super touchesBegan:touches withEvent:event];
    UITouch *touch = [touches anyObject];
    if ([touch.view isKindOfClass: UITextField.class])
    {
      if (![(UITextField *)touch.view isFirstResponder])
      {
        //start editing
        [(UITextField *)touch.view becomeFirstResponder];
      }
    }
    else
    {

    }
}