我正在使用大量UIWebView
的iOS应用程序。有没有办法阻止UIWebView
弹出到Safari(iFrame代码)但仍然加载页面?
换句话说,在YES
中返回webView:shouldStartLoadWithRequest:navigationType:
,但不要让网页弹出到Safari。
修改
Web视图端具有需要执行的进程,这就是我需要返回YES
的原因。但是这些过程也无意中导致应用程序在Safari中启动URL。我正在寻找一种拦截方法,并选择是否在Safari中启动网址。
答案 0 :(得分:0)
Apple在iOS 9上推出了Safari View Controller.Safari View Controller是一款预装浏览器,拥有Mobile Safari的所有功能,但无需离开您的应用即可呈现。
首先我们需要导入Safari服务
#import <SafariServices/SafariServices.h>
对于目标C: -
NSString *yourUrl = @"http://yourURL";
SFSafariViewController *svc= [[SFSafariViewController alloc] initWithURL:[NSURL URLWithString: yourUrl]];
[self presentViewController:svc animated:YES completion:nil];
对于斯威夫特: -
let svc = SFSafariViewController(URL: NSURL(string: self.urlString)!)
self.presentViewController(svc, animated: true, completion: nil)