从与ViewController.m不同的.m文件中寻址UIWebView

时间:2014-05-09 13:39:18

标签: ios objective-c uiwebview

我正在查看一种新类型的菜单(https://github.com/szrambo/fancymenu),我希望它也适用于UIWebView。它在屏幕上完美显示和隐藏,但是当我添加一个WebView时,它会在longpress上显示,但它只会在我点击屏幕时隐藏 - 而不是在WebView上。

我似乎无法使用与ViewController.m文件不同的.m文件来处理我的WebView。我的问题是,当我尝试写

[myWebView addGestureRecognizer:tap2];

进入FAFancyMenuView.m而不是FAViewController.m,我得到myWebView是未知接收器的错误......

1 个答案:

答案 0 :(得分:0)

UIWebViews上的手势是从UIWebView本身检测到的,因此菜单无法检测到UIWebView上的UITouches。您可以做的是在UIWebView上放置透明的UIview并将其插入容器UIview中,这样就可以检测到手势。 这里有一个关于如何操作的简单代码:

UIView *container = [[UIView alloc]initWithFrame:yourframe];
UIView *overView = [[UIView alloc]initWithFrame:container.bounds];
container.backgroundColor = overView .backgroundColor = [UIColor clearColor];
[container addSubView: yourWebView];
[container addSubView: overView];
[overView addGestureRecognizer:tap2];