赞
踩
通过WebView加载网页展示效果图:
目录
1.2.1 使用loadHTMLString加载本地html页面
移动端目前对于H5的使用越来越广泛了,随着5G时代的到来,网络提速,WebView在移动端的使用只会更加多。Android端使用WebView这个控件加载HTML+CSS+JS,IOS类似,目前使用的是WKWebView,之前UIWebView目前已经过时了,UIWebView在使用过程中对于内存开销比较大,而且加载速度也存在问题,WKWebView替代了UIWebView解决了这两个问题。
WKWebView内存占用23M,而UIWebView内存占用85M;允许JavaScript的Nitro库加载并使用(UIWebView中限制);支持了更多的H5特性;支持高达60fps的滚动刷新率以及内置手势;
WKWebView加载的内容可以是网络资源也可以是本地的html页面。
WKWebView网络数据的加载可以调用loadRequest函数,如下:
- (nullable WKNavigation *)loadRequest:(NSURLRequest *)request;
布局如下图,红色矩形框是WKWebView,当点击“加载网络数据”Button的时候显示简述的界面:
在学习的过程中遇到一个比较坑的问题,如下
通过故事板拖拽布局一个WKWebview,两个UIButton,然后拖拽通过Outlets在ViewController中自动生成属性变量mWebView、localButton和netButtton,给netButtton这个按钮添加一个事件,在事件调用的函数中使用loadRequest加载网页,运行代码直接报错无法进入应用,错误信息如下:
- 2019-04-16 20:31:11.810262+0800 WebView[24662:890526] libMobileGestalt MobileGestalt.c:890: MGIsDeviceOneOfType is not supported on this platform.
- 2019-04-16 20:31:11.881966+0800 WebView[24662:890526] *** Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named WKWebView'
- *** First throw call stack:
- (
- 0 CoreFoundation 0x000000010c8ce1bb
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。