【发布时间】:2012-12-03 23:27:04
【问题描述】:
我的目标是允许 UIWebView 加载初始链接,但不允许任何进一步的导航。
我看到了问题:
Disable hyperlinks in UIWebView
所以,我从界面生成器中连接了引用的 webView 属性。
我指定我的 UIViewController 使用 UIWebViewDelegate:
@interface LegalViewController : UIViewController<UIWebViewDelegate>
在代码中,在 viewDidLoad 上,我执行以下操作:
mFirstLoad = TRUE;
webView.delegate = self;
我有以下代码:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
if (!mFirstLoad)
return FALSE;
mFirstLoad = FALSE;
return TRUE;
}
shouldStartLoadWithRequest 在初始调用和单击链接时都被调用。但是,即使 shouldStartLoadWithRequest 返回 FALSE,UIWebView 仍会继续并加载新页面。
我在 iOS Simulator 6.0 上看到了这个问题
如何解决此问题?
【问题讨论】:
-
您确定正在调用委托方法吗?
-
是的。我在里面放了一个断点,发现它被命中了(初始页面加载和点击链接后)
-
如果您只是将
return NO;全部放入,它还会加载吗? -
如果我只返回 NO 那么它不会加载初始页面。
-
我想我找到了问题的原因。我不确定如何正确调用它(不是 HTML 和 Javascript 方面的大专家)。但是链接有以下代码:“Something" 结果,回调被调用,但看起来这个回调的结果被忽略了。跨度>
标签: ios