有没有办法通过touchesEnded
. 只有当点击持续时间超过一两秒时,它才会触发。有没有办法让它在所有的修饰上触发?它注册所有touchesBegan
.
这是简单的代码:
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"Touch Ended");
}
有没有办法通过touchesEnded
. 只有当点击持续时间超过一两秒时,它才会触发。有没有办法让它在所有的修饰上触发?它注册所有touchesBegan
.
这是简单的代码:
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"Touch Ended");
}
默认情况下禁用多点触控。如果您想接收多个触摸事件,您必须将multipleTouchEnabled
您使用的视图的 a 设置为 YES。要做到这一点,你ViewDidLoad
只需写self.view.multipleTouchEnabled= YES
,因为它只是一个属性。
另一个问题可能与 Magic Trackpad 有关,因为它会在决定您结束触摸之前添加延迟。尝试禁用它:>系统偏好设置>个人>通用访问>鼠标和触控板>触控板选项>当鼠标存在时忽略触控板.
-touchesEnded:withEvent:
即使是短暂的触摸也会被调用,比如点击。您的响应者链中可能有一些东西正在处理触摸。例如,滚动视图通常会延迟触摸,直到它们确定用户是否正在尝试滚动,并且手势识别器也可以延迟触摸事件。具体来说,UIGestureRecognizer 有一个delaysTouchesEnded
可能会干扰您的代码的属性。