想知道当我调用setCancelsTouchesInView时会发生什么。它不是正式文件中覆盖http://developer.apple.com/library/ios/#documentation/uikit/reference/UIGestureRecognizer_Class/Reference/Reference.html调用setCancelsTouchesInView时会发生什么?
感谢
想知道当我调用setCancelsTouchesInView时会发生什么。它不是正式文件中覆盖http://developer.apple.com/library/ios/#documentation/uikit/reference/UIGestureRecognizer_Class/Reference/Reference.html调用setCancelsTouchesInView时会发生什么?
感谢
ACB引用了UIGestureRecognizer
的参考文献。为了让多一点具体的,假设你有一个连接泛手势识别一个视图,你必须在你的视图控制器这些方法:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"touchesBegan");
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"touchesMoved");
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"touchesEnded");
}
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"touchesCancelled");
}
- (IBAction)panGestureRecognizerDidUpdate:(UIPanGestureRecognizer *)sender {
NSLog(@"panGesture");
}
,当然还有锅手势识别器被配置为发送panGestureRecognizerDidUpdate:
信息。
现在假设您触摸视图,将手指移动到足以识别平移手势,然后抬起手指。该应用打印什么?
如果手势识别具有cancelsTouchesInView
设置为YES
,应用程序会记录这些消息:
touchesBegan
touchesMoved
touchesCancelled
panGesture
panGesture
(etc.)
你可能会取消前一个以上的touchesMoved
。
因此,如果您将cancelsTouchesInView
设置为YES
(默认值),则系统将在从手势识别器发送第一条消息之前取消该触摸,并且您不会再为该触摸获取任何与触摸相关的消息。
如果手势识别具有cancelsTouchesInView
设置为NO
,应用程序会记录这些消息:
touchesBegan
touchesMoved
panGesture
touchesMoved
panGesture
touchesMoved
panGesture
(etc.)
panGesture
touchesEnded
所以,如果你设置cancelsTouchesInView
到NO
,系统会继续发送的触摸相关的消息手势触摸,与手势识别器的消息交织。触摸将正常结束,而不是被取消(除非系统因其他原因取消触摸,例如在触摸过程中按下主页按钮)。
从苹果开发者门户link:
cancelsTouchesInView - 如果一个手势识别器识别出它的姿态, 它解除绑定的剩余触摸从他们的角度看这个手势(所以 窗口不会传递他们)。该窗口取消之前的 传送的触摸(touchesCancelled:withEvent :)消息。如果手势识别器未识别其手势,则该视图将在多点触摸序列中接收到所有触摸。 。
cancelsTouchesInView:
一个布尔值影响是否触摸被 递送到视图时姿势被识别。
@属性(非原子)BOOL cancelsTouchesInView
讨论
当此 属性是YES(缺省)和接收器识别其手势, 被挂起的该姿势的触摸没有递送到 视图,并且先前递送的触摸通过 触摸取消:withEvent:发送到视图的消息。如果手势 识别器无法识别其手势,或者此属性的值为NO,则该视图会接收多点触摸 序列中的所有触摸。
什么是由“那是暂停的手势的触摸”? –
谢谢!当您将cancelsTouchesInView设置为否时,该事件将取消弹出权限? – jebberwocky
我不明白“取消弹出”的意思。 –