我有一个UIWebView
,我打开一个网站,但有时不会调用委托方法,UIWebView会显示一个空白页面。
但是,当我使用Safari在UIWebView
中显示HTML代码时,所有内容都已加载但未显示。
有没有人遇到类似的行为?
我什么都不做
NSURL *url = ...
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[self.cordovaController.webView loadRequest:request];
- (void) webViewDidFinishLoad:(UIWebView*)theWebView
{
NSLog(@"LOADING WEBSITE DONE");
}
-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
NSLog(@"LOADING WEBSITE DONE WITH ERROR %@", [error description]);
}
答案 0 :(得分:0)
使用 UIWebView 委托方法打开网址
#pragma mark UIWebView Delegates -
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
[[UIApplication sharedApplication] openURL:[request URL]];
return NO; //only open in safari not in UIWebView
}
return YES;
}
我希望它适用于你
答案 1 :(得分:0)
答案 2 :(得分:0)
您需要记住将UIWebView对象连接(按住Ctrl键)到ViewController上的filesOwner按钮(底部的橙色按钮),然后选择“委托”。你应该会发现你的代码现在会被调用。
我希望这会有所帮助。如果确实如此,请将此标记为正确+1等。干杯吉姆。