UITapGestureRecognizer不会启动UIView子类

时间:2012-06-11 11:08:05

标签: iphone objective-c ios5 uiview uigesturerecognizer

我已经创建了UIView的自定义子类,因为我需要覆盖drawRect方法。 我尝试添加一个UITapGestureRecognizer,但这对我不起作用。 这里是我的ViewController的代码:

MyCustomView *customView = [[MyCustomView alloc] initWithFrame:CGRectFrame(0, 30, 30, 30)];
[customView setUserInteractionEnabled:YES];

UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doSomething)];
[customView addGestureRecognizer:tapGestureRecognizer];

我不明白为什么当我触摸我的UIView子类对象时,手势识别器不会启动。

提前多多感谢!

固定它!

我的观点是在UIImageView上,而UIImageView没有将userInteractionEnabled设置为YES。

4 个答案:

答案 0 :(得分:13)

固定它!

我的观点是在UIImageView上,而UIImageView没有将userInteractionEnabled设置为YES。

答案 1 :(得分:0)

确保将其显示在某处(addSubview)。

答案 2 :(得分:0)

还要确保userInteractionEnabled设置为true。如果这是真的,请发布创建并挂钩手势识别器的代码。

答案 3 :(得分:0)

在要添加的子视图中将UserInteractionEnable检查设置为true,并在选择器方法中,将对象与其一起传递,即

UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doSomething:)];

并将选择器方法设为

-(void) doSomething:(UITapGestureRecognizer *)gesture;

如果您还有问题,请告诉我。 谢谢!