美文网首页我依然爱iOS
iOS使用WebView简单地应用内显示网页

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

作者: Cloudox_ | 来源:发表于2017-11-20 14:18 被阅读10次

    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链接的网页了,如下图所示:

    image

    可以在这里下载我的示例工程:https://github.com/Cloudox/WebViewDemo


    查看作者首页

    相关文章

      网友评论

        本文标题:iOS使用WebView简单地应用内显示网页

        本文链接:https://www.haomeiwen.com/subject/znjvvxtx.html