我最近遇到了一个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可能会中断识别?但我不知道如何解决这个问题。
如果您能帮助我或指出正确的方向来解决这个问题,那真的很开心。
答案 0 :(得分:0)
我希望这段代码能指出正确的方向: 1.添加手势识别器代表:
@interface myclass <UIGestureRecognizerDelegate>
{
//Whatever you are doing with gestures
}
2.实施委托方法:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{ //做你的东西
return YES;
}
检查控件是否到达此委托