[英]IOS: UISwipeGestureRecognizer
I have this code: 我有这个代码:
UISwipeGestureRecognizer *recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(rightSwipeHandle:)];
[recognizer setNumberOfTouchesRequired:1];
[n16 addGestureRecognizer:recognizer];
[n17 addGestureRecognizer:recognizer];
- (void)rightSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer{
NSLog(@"SWIPE");
}
How can I know what view happens gesture? 我怎么知道哪个视图发生了手势? views are n16 and n17 意见是n16和n17
I am not sure if you can register the same UIGestureRecognizer instance to different views, but if you could, I think UIGestureRecognizer.view property is what you are looking for. 我不确定您是否可以将相同的UIGestureRecognizer实例注册到不同的视图,但如果可以,我认为UIGestureRecognizer.view属性是您正在寻找的。
http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIGestureRecognizer_Class/Reference/Reference.html#//apple_ref/occ/cl/UIGestureRecognizer http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIGestureRecognizer_Class/Reference/Reference.html#//apple_ref/occ/cl/UIGestureRecognizer
So, you should be able to do something like this. 所以,你应该可以做这样的事情。 (again, I am not sure if you can attach different UIGestureRecognizer instance to different views...) (再次,我不确定你是否可以将不同的UIGestureRecognizer实例附加到不同的视图......)
- (void)rightSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer{
if(gestureRecognizer.view == n16)
{
// specific operation to n16
}
else if(gestureRecognizer.view == n17)
{
// specific operation to n17
}
}
Like this: 像这样:
- (void)rightSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer {
NSLog(@"SWIPE");
UIView *vw = [gestureRecognizer view]; // this is the view that generated the
// gesture - either n16 or n17
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.