我在 UIViewController
内有一个 UIWebView
的应用程序 . 我从Web服务加载HTML作为字符串,如下所示:
self.webView loadHTMLString:_string baseURL:nil
是否可以在浏览器中打开此字符串中的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;
}
它似乎没有工作......
有任何想法吗?
7 回答
您是否已将
UIWebView
的代表设置为UIViewController
? 's nothing obviously wrong with your code as far as I can see, so it'可能是那么小的东西 .在课堂上添加..
在View did load中添加它
在.m文件中添加此项
注意:
然后它将完美地以你应得的方式工作.. !! :)
在此之后使用此UIWebview方法将UIWebView的 delegate 设置为 UIViewController 并检查条件,例如现在webview当前url是google.com,如果假设您单击了gmail,则url包含带有gmail的字符串 . 使用下面的方法打开一个safari浏览器并自动加载该url .
如果你已经正确设置了UIWebViewDelegate,那就干脆做了
应该管用
添加此行(self.webview.delegate = self;)
例如viewController.m中的示例
Apple在iOS 9上引入了Safari View Controller.Safari View Controller将用户期望从Safari获得的所有功能带到您的应用程序,而无需离开它 .
首先,我们需要导入Safari服务
对于目标C: -
对于斯威夫特: -
是的,在你的超链接标签中添加
一个问号就可以了,谢谢