我有一个UIWebView内置的应用程序UIViewController.我从Web服务加载HTML作为字符串,如下所示:
self.webView loadHTMLString:_string baseURL:nil
Run Code Online (Sandbox Code Playgroud)
是否可以在浏览器中打开此字符串中的HTML链接,而不是在我的应用程序中的UIWebView中打开?我怎样才能做到这一点?
我在UIViewController中试过这个"托管"UIWebVIew:
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
[[UIApplication sharedApplication] openURL:[request URL]];
return NO;
}
return YES;
}
Run Code Online (Sandbox Code Playgroud)
它似乎没有工作......
有任何想法吗?
Ste*_*ton 23
你有代表UIWebView你的UIViewController?就我所见,你的代码没有什么明显的错误,所以很可能是这样的小东西.
Raj*_*ore 21
在课堂上添加..
@interface yourViewController : UIViewController
<UIWebViewDelegate>
Run Code Online (Sandbox Code Playgroud)
在View did load中添加它
- (void)viewDidLoad
{
[description loadHTMLString:string baseURL:nil];
description.delegate = self;
}
Run Code Online (Sandbox Code Playgroud)
在.m文件中添加此项
-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType {
if ( inType == UIWebViewNavigationTypeLinkClicked ) {
[[UIApplication sharedApplication] openURL:[inRequest URL]];
return NO;
}
return YES;
}
Run Code Online (Sandbox Code Playgroud)
注意:
UIWebView *description;
@synthesize description;
Run Code Online (Sandbox Code Playgroud)
然后它将完美地以你应得的方式工作.. !! :)