我添加了 SimpleUITapGestureRecognizer
并UIImageView
创建了在用户点击/触摸时调用的手势方法 UIImageView
我的代码是:
UITapGestureRecognizer *eagleTapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(eagleTapGestureIsCall:)];
eagleTapGesture.numberOfTapsRequired = 1;
[self.egaleImgView addGestureRecognizer:eagleTapGesture];
手势方法:
- (void)eagleTapGestureIsCall:(UITapGestureRecognizer *)recognizer
{
CGPoint location = [recognizer locationInView:[recognizer.view superview]];
NSLog(@"Eagle is Tapped X - %f",location.x);
NSLog(@"Eagle is Tapped Y - %f",location.y);
}
在这里,如果我添加 GestureUIView
而不是self.egaleImgView
然后它可以工作(我的意思是 Gesture Method 被调用)但是为什么它不工作self.egaleImgView
???
谷歌搜索后我发现,可能是UIView
在他们到达之前拦截了触摸UIImageView
。
所以我在开头添加了以下行viewDidLoad
self.view.userInteractionEnabled = NO; /// Here i set userInteractionEnabled = NO;
下面描述结构以便更好地理解。
main UIView
| |
(Sub view) mainBackGroungImageView //// size is similar to size of main UIView
| |
(Sub view) gestureAdded ImageView
编辑:
对不起,忘记提到我已经添加self.egaleImgView.userInteractionEnabled = YES;
到我的 imageView 中的家伙,但它对我不起作用。
请就我的问题给我建议。
提前致谢。