我按照121 WWDC 2010(高级手势识别)的会话演示,找到了在其他类(TransformGestureReconizer)上拥有所有行为(旋转,缩放,翻译)的方法,一切顺利,并为子视图执行此操作:
- (void)viewDidLoad {
[super viewDidLoad];
[self.view addSubview:baseView];
subView1.userInteractionEnabled = YES;
[self addTransformGestureToView:subView1];
}
这是我的问题: 当我双击所需的子视图时,我想要采取行动。
所以如果我添加一个:
- (void)handleDoubleTap:(UIGestureRecognizer *)gestureRecognizer
我无法选择我的操作提供哪种视图(例如更改其上的图像) 如果我添加主视图:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
我只能处理主视图上的双击,但不能处理子视图,只能在TransformGestureReconizer.h
上执行,但不能选择点击的视图(我认为是因为UIGestureRecognizer的子类)。
答案 0 :(得分:1)
我找到了解决方案:
UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTap:)];
[doubleTap setNumberOfTapsRequired:2];
[self addTransformGestureToView:subView1];
[self.subView1 addGestureRecognizer:doubleTap];
[doubleTap release];