我有这样的代码:
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
发布于 2012-01-04 01:42:04
我不确定您是否可以将相同的UIGestureRecognizer实例注册到不同的视图,但如果可以,我认为UIGestureRecognizer.view属性就是您正在寻找的。
http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIGestureRecognizer_Class/Reference/Reference.html#//apple_ref/occ/cl/UIGestureRecognizer
所以,你应该能够做这样的事情。(同样,我不确定您是否可以将不同的UIGestureRecognizer实例附加到不同的视图...)
- (void)rightSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer{
if(gestureRecognizer.view == n16)
{
// specific operation to n16
}
else if(gestureRecognizer.view == n17)
{
// specific operation to n17
}
}发布于 2012-01-04 01:42:31
如下所示:
- (void)rightSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer {
NSLog(@"SWIPE");
UIView *vw = [gestureRecognizer view]; // this is the view that generated the
// gesture - either n16 or n17
}https://stackoverflow.com/questions/8716214
复制相似问题