iOS支持的应用内显示网页的方法有多种,有的还会自动提供下方的工具栏,这里说明最简单的一种:使用WebView来快速实现应用内显示网页内容。
UIWebView是iOS自带的一种浏览网页的UI控件,我们在.m文件中创建一个实例:
@interface ViewController ()
@property (nonatomic, strong) UIWebView *webView;
@end
然后在viewDidLoad方法中初始化这个WebView实例,并设置其要访问的网站的URL,然后将其添加到视图中去:
- (void)viewDidLoad {
[super viewDidLoad];
self.webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, SCREENWIDTH, SCREENHEIGHT)];
NSURLRequest *request =[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.baidu.com"]];
[self.view addSubview: self.webView];
[self.webView loadRequest:request];
}
这样其实就完成了,非常简单快捷。
但是其实在iOS 9下还有一个问题,那就是iOS默认要求所有访问必须基于https协议,所以现在直接运行会访问失败,解决方法是在Info.plist文件中添加支持http协议的声明,方法如下:
我们右键Info.plist文件,选择Open as Source Code,添加如下代码:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
或者也可以直接在plist列表中添加Dictionary格式的NSAppTransportSecurity,然后在其下添加Boolean格式的Allow Arbitrary Loads,并设为YES。
这样我们的app就可以支持http协议了,再次运行即可正常访问URL链接的网页了,如下图所示:
可以在这里下载我的示例工程:https://github.com/Cloudox/WebViewDemo