iOS APP 开发 OC 第九天,UIWebView & WKWebView

tags: OC 30 day


我们来延续上一篇网路请求原理做出UIWebView吧

把网路请求做成一个方法

鉴于单一职责,把网路请求做成一个方法。

-(NSURLRequest *) makeURLRequest{    //发送请求    NSURL *url = [NSURL URLWithString:@"https://tw.yahoo.com"];    //请求    NSURLRequest *request = [NSURLRequest requestWithURL:url];    return request;}

製作出一个UIWebView

-(void)makeWebView:(NSURLRequest *)request{    self.webView = [[UIWebView alloc]init];    [self.webView loadRequest:request];    [self.view addSubview:self.webView];    [self.webView mas_makeConstraints:^(MASConstraintMaker *make) {        make.top.equalTo(self.view.topMargin);        make.left.right.bottom.equalTo(self.view);    }];}

注意,这边的约束是用Masonry做的。
另外值得注意的是,topMargin,他帮我们将view侷限在safe area之中。

为什么不写在一起呢?

你会发现,这块UIWebView并不侷限在特定的Request,如果今天要显示的是不同的页面,我也可以轻鬆的抽换。
试试看

NSURLRequest *urlRequest = [self makeURLRequest];[self makeWebView:urlRequest];

来试试看製作出来的效果吧~

但是这样是有问题的

'UIWebView' is deprecated: first deprecated in iOS 12.0 - No longer supported; please adopt WKWebView.

因为在iOS 12.0 之后,他将不支援,那怎么办呢?

WKWebView

这个是IOS8之后新增的一个类,也是苹果推崇的一个新的类。

#import <WebKit/WebKit.h>

import这个Kit

-(void)makeWebView:(NSURLRequest *)request{    WKWebView *webView = [[WKWebView alloc] init];    [webView2 loadRequest:request];    [self.view addSubview:webView2];    [webView2 mas_makeConstraints:^(MASConstraintMaker *make) {        make.top.equalTo(self.view.topMargin);        make.left.right.bottom.equalTo(self.view);    }];}

就可以解决版本支援的问题啰。


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章