iOS使用WebView简单地应用内显示网页

2021-11-23 13:01:22 浏览数 (1)

iOS支持的应用内显示网页的方法有多种,有的还会自动提供下方的工具栏,这里说明最简单的一种:使用WebView来快速实现应用内显示网页内容。

UIWebView是iOS自带的一种浏览网页的UI控件,我们在.m文件中创建一个实例:

代码语言:javascript复制
@interface ViewController ()

@property (nonatomic, strong) UIWebView *webView;

@end

然后在viewDidLoad方法中初始化这个WebView实例,并设置其要访问的网站的URL,然后将其添加到视图中去:

代码语言:javascript复制
- (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,添加如下代码:

代码语言:javascript复制
<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

0 人点赞