频道栏目
首页 > 资讯 > IOS > 正文

IOS开发之UIWebView浏览器控件使用解析

18-07-21        来源:[db:作者]  
收藏   我要投稿

1、什么是UIWebView

UIWebView是ios内置的浏览器控件,可以用来直接加载远程的网页资源,也可以加载绝大部分的常见文件htm/html、txt、pdf/keynote、ppt、doc/docx、音视频文件等等,还可以通过调用UIWebView提供的api实现页面的前进、后退、刷新等动作,甚至还可以动态的设置网页内容。

2.简单使用加载网页

  /**
  [UIScreen mainScreen].bounds.size.width 硬件屏幕的宽
  [UIScreen mainScreen].bounds.size.height硬件屏幕的高
  **/
 //1.创建一个UIWebView
 UIWebView *web = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];
 
 //2.要打开的网址
 NSString *openURL = @"https://www.baidu.com/";
 NSURL *URL = [NSURL URLWithString:openURL];
 NSURLRequest *requestURL = [NSURLRequest requestWithURL:URL];
 
 //3。加载内容
 [web loadRequest:requestURL];
 
 [self.view addSubview:web];

模拟机运行效果图:

3.使用导航效果

  /**
  UIWebView类内部会管理浏览器的导航动作,可以通过一下函数控制
  [web goBack];//根据历史返回上一页
  [web goForward];//根据历史前往下一页
  [web reload];//重新加载
  [web stopLoading];//停止加载
  **/
 //4.在导航栏添加一个按钮,这个按钮能返回上一页
 UIBarButtonItem *goBack = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemReply target:self action:@selector(goBack)];

 self.navigationItem.rightBarButtonItem = goBack;
-(void) goBack {
 [web goBack];
}

运行效果图:

UIWebView使用注意事项(坑点)

释放UIWebView对象之前首先要将其delegate设置为nil,否则可能会出现异常crash等问题,一般在dealloc方法中处理;

UIWebView对象不应该被添加到UIScrollView对像的视图上,否则可能会出现无法预料的问题,因为系统无法正确处理两个视图的点击、滚动、手势操作等事件;

加载本地html文件时,确保使用loadHTMLString:baseURL:方法,不要使用loadRequest:方法;

UIWebView的stringByEvaluatingJavaScriptFromString:方法为同步执行,当前线程将等待该方法执行完成,因此调用该方法将会导致app出现挂起现象;

相关TAG标签
上一篇:Linux系统下软连接和硬链接的区别
下一篇:Hiho-1515丨带权并查集
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站