Subview和UIWebView UIGesture不起作用

时间:2013-08-17 16:11:00

标签: ios xcode webview uigesturerecognizer subview

我最近遇到了一个View Controller的问题,它有一个UIWebView和一个我想要添加到View Controller的子视图。

这是UIWebView的视图: http://cl.ly/image/03473l0e3a2L

我的目标是,添加一个可以正常工作的共享菜单: http://cl.ly/image/3b273t2o3P00

但是现在我遇到了问题,我为社交图标+标签(推特,脸书,邮件)设置了手势识别器 - 但这些手势识别器没有做任何事情。

ShareView是一个UIView子类,我用这种方式添加了手势识别器:

UITapGestureRecognizer *fbTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(fbTapped:)];
fbTap.numberOfTapsRequired = 1;
fbTap.numberOfTouchesRequired = 1;
fbTap.delegate = self;
[fbImage addGestureRecognizer:fbTap];
[fbLabel addGestureRecognizer:fbTap];

UITapGestureRecognizer *twTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(twTapped:)];
twTap.numberOfTapsRequired = 1;
twTap.numberOfTouchesRequired = 1;
twTap.delegate = self;
[twImage addGestureRecognizer:twTap];
[twLabel addGestureRecognizer:twTap];

UITapGestureRecognizer *mailTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(mailTapped:)];
mailTap.numberOfTapsRequired = 1;
mailTap.numberOfTouchesRequired = 1;
mailTap.delegate = self;
[mailImage addGestureRecognizer:mailTap];
[mailLabel addGestureRecognizer:mailTap];

我认为Label和UIImageView名称可以解释自己。每个Label和ImageView都将userInteractionEnabled设置为YES。 ShareView也启用了Userinteractions,我确实为它设置了UIGestureRecognizerDelegate。

fbTapped,mailTapped和twTapped函数会将通知发送到主视图(包含webview和ShareView的视图)。

但现在当我点击标签或图像时,没有任何事情发生。

我确实读过stackoverflow,MainView中的UIWebView可能会中断识别?但我不知道如何解决这个问题。

如果您能帮助我或指出正确的方向来解决这个问题,那真的很开心。

1 个答案:

答案 0 :(得分:0)

我希望这段代码能指出正确的方向: 1.添加手势识别器代表:

  @interface myclass <UIGestureRecognizerDelegate>

{

   //Whatever you are doing with gestures

}

2.实施委托方法:

 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer      shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer 

{     //做你的东西

 return YES;

}

检查控件是否到达此委托