IOS:UISweepGestureRecognitor

IOS:UISweepGestureRecognitor,ios,uigesturerecognizer,gesture,Ios,Uigesturerecognizer,Gesture,我有以下代码: UISwipeGestureRecognizer *recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(rightSwipeHandle:)]; [recognizer setNumberOfTouchesRequired:1]; [n16 addGestureRecognizer:recognizer]; [n17 addGestureRecognizer:rec

我有以下代码:

UISwipeGestureRecognizer *recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(rightSwipeHandle:)];
[recognizer setNumberOfTouchesRequired:1];
[n16 addGestureRecognizer:recognizer];
[n17 addGestureRecognizer:recognizer];

- (void)rightSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer{
NSLog(@"SWIPE");
}

我怎样才能知道发生了什么样的情况?视图是n16和n17

我不确定是否可以将同一UIgestureRecognitor实例注册到不同的视图,但如果可以,我认为UIgestureRecognitor.view属性就是您要查找的

所以,你应该可以这样做。(同样,我不确定是否可以将不同的UIgestureRecognitor实例附加到不同的视图…)

像这样:

- (void)rightSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer {
    NSLog(@"SWIPE");
    UIView *vw = [gestureRecognizer view]; // this is the view that generated the
        // gesture - either n16 or n17
}

同一个手势识别器实例只能分配给一个视图->您必须实例化第二个实例以覆盖两个视图。
- (void)rightSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer {
    NSLog(@"SWIPE");
    UIView *vw = [gestureRecognizer view]; // this is the view that generated the
        // gesture - either n16 or n17
}