4

是否可以从 UISwipeGestureRecognizer 获取手势起点。就像它是如何可能的

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

    UITouch * touch = [touches anyObject];
    gestureStartPoint = [touch locationInView:self];
}
4

3 回答 3

7

根据UISwipeGestureRecognizer 文档,您可以:

您可以通过调用 UIGestureRecognizer 方法 locationInView: 和 locationOfTouch:inView: 来确定滑动开始的位置。如果手势涉及不止一次触摸,前一种方法会为您提供质心;后者给出了特定触摸的位置。

PS:你真的应该先看看文档,答案在 UISwipeGestureRecognizer 的类参考中,应该不难找到。作为开发人员的一部分是能够查找内容,Apple 拥有出色的文档,使用它!

于 2010-09-30T13:18:21.847 回答
4

警告

艾米的回答完全不正确!识别器可能会生成UIGestureRecognizerStateBegan,但仅在滑动时会UISwipeGestureRecognizer生成UIGestureRecognizerStateEnded事件。

touchesBegan:可以代替。问题是如果它支持用户交互,那么它仅适用于当前视图,您需要将其传递给父视图。

于 2015-04-02T07:13:09.720 回答
0

是的,有可能。请参见下面的代码:

if ([recognizer state] == UIGestureRecognizerStateBegan || [recognizer state] != UIGestureRecognizerStateChanged) {
    NSLog(@"StateBegan :::::");
}
于 2012-05-05T06:27:19.703 回答