iOS-UIWebView

从iOS8出现 WKWebView ,相比UIWebView来说 占用内存少,速度快。

UIWebView

用于在App中嵌入网页内容,通常是html格式的网页,也支持pdf, word等文档。

控件简介

控件优点

  1. 可跨平台
      开发一次可以部署iOS、Android等平台。
  2. 发布更新快
      在服务器端发布,能够实时更新终端展示,便于快速升级以及紧急修复bug。
  3. 排版布局能力强
      强大的HTML+CSS让人膜拜

控件缺点

性能
  Web App运行在浏览器里,浏览器的开放能力难以支持HTML5与Native对抗。
数据通讯复杂
  UIWebView与App之间进行数据通讯只能通过javascript或者UIWebViewDelegate来进行,客户端想传参数给UIWebView修改网页或者从网页中获取数据都比较复杂。

使用场景

  1. 排版复杂的内容
  2. 需后台灵活控制的界面
  3. 原网页

使用方法:

- (void)loadRequest:(NSURLRequest *)request;
- (void)loadHTMLString:(NSString *)string baseURL:(nullable NSURL *)baseURL;
- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)textEncodingName baseURL:(NSURL *)baseURL;

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;
- (void)webViewDidStartLoad:(UIWebView *)webView;
- (void)webViewDidFinishLoad:(UIWebView *)webView;
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;


- (void)reload;
- (void)stopLoading;
- (void)goBack;
- (void)goForward;

canGoBack
canGoForward
loading
scalesPageToFit
detectsPhoneNumbers

与js交互

js是不能执行oc代码的,但是可以变相的执行,js可以将要执行的操作封装到网络请求里面,然后oc拦截这个请求,获取url里面的字符串解析即可,这里用到代理协议的

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 16,508评论 4 61
  • 距离春节只有几天,我们已经准备好了年货,下来就该整理一下自己了。 今天下午五点多,我和爷爷一起来到了“自然美理发店...
    田浩甲MAX阅读 213评论 0 0
  • “作家的使命不是发泄,不是控诉或者揭露,他应该向人们展示高尚。这里所说的高尚不是那种单纯的美好,而是对一切事物理解...
    贰肆岚阅读 335评论 1 3
  • 在计算机科学中,字面量(literal)是用于表达源代码中一个固定值的表示法(notation)。Swift 为我...
    TomatosX阅读 390评论 0 0
  • 被人喜欢是一件幸福的事,自己能主动投入生活,经营幸福,让幸福冒泡泡,让空气中弥漫幸福的...
    熊猫续梦阅读 323评论 0 0

友情链接更多精彩内容