是否可以从UISwipeGestureRecognizer获取手势起点。喜欢它的可能性
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch * touch = [touches anyObject];
gestureStartPoint = [touch locationInView:self];
}
答案 0 :(得分:7)
根据UISwipeGestureRecognizer documentation你可以:
PS:你真的应该先看看文档,答案是在UISwipeGestureRecognizer的类引用中,应该不难找到。作为开发人员的一部分是能够查找,Apple拥有优秀的文档,使用它!您可以通过调用UIGestureRecognizer方法locationInView:和locationOfTouch:inView:来确定滑动开始的位置。如果手势中涉及多个触摸,前一种方法会为您提供质心;后者给出了特定触摸的位置。
答案 1 :(得分:3)
警告强>
Amy的答案完全是错误!识别器可能会生成UIGestureRecognizerStateBegan
,但只需轻扫UISwipeGestureRecognizer
即可生成UIGestureRecognizerStateEnded
个事件。
但是touchesBegan:
可以正常工作。问题是如果它支持用户交互,那么它仅适用于当前视图,您需要将其传递给父视图。
答案 2 :(得分:0)
是的,有可能。请参阅以下代码:
if ([recognizer state] == UIGestureRecognizerStateBegan || [recognizer state] != UIGestureRecognizerStateChanged) {
NSLog(@"StateBegan :::::");
}