是否可以从 UISwipeGestureRecognizer 获取手势起点。就像它是如何可能的
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch * touch = [touches anyObject];
gestureStartPoint = [touch locationInView:self];
}
是否可以从 UISwipeGestureRecognizer 获取手势起点。就像它是如何可能的
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch * touch = [touches anyObject];
gestureStartPoint = [touch locationInView:self];
}
根据UISwipeGestureRecognizer 文档,您可以:
您可以通过调用 UIGestureRecognizer 方法 locationInView: 和 locationOfTouch:inView: 来确定滑动开始的位置。如果手势涉及不止一次触摸,前一种方法会为您提供质心;后者给出了特定触摸的位置。
PS:你真的应该先看看文档,答案在 UISwipeGestureRecognizer 的类参考中,应该不难找到。作为开发人员的一部分是能够查找内容,Apple 拥有出色的文档,使用它!
警告
艾米的回答完全不正确!识别器可能会生成UIGestureRecognizerStateBegan
,但仅在滑动时会UISwipeGestureRecognizer
生成UIGestureRecognizerStateEnded
事件。
但touchesBegan:
可以代替。问题是如果它支持用户交互,那么它仅适用于当前视图,您需要将其传递给父视图。
是的,有可能。请参见下面的代码:
if ([recognizer state] == UIGestureRecognizerStateBegan || [recognizer state] != UIGestureRecognizerStateChanged) {
NSLog(@"StateBegan :::::");
}