1

我按照 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 的子类)。

4

1 回答 1

1

我找到了一个解决方案:

    UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTap:)];
[doubleTap setNumberOfTapsRequired:2];
[self addTransformGestureToView:subView1];
[self.subView1 addGestureRecognizer:doubleTap];
[doubleTap release];
于 2011-02-28T18:21:59.780 回答