iOS UIWebView 的下拉刷新和上拉加载的实现
来源:互联网 发布:淘宝app怎么看卖家信誉 编辑:程序博客网 时间:2024/06/08 10:55
iOS UIWebView 的下拉刷新和上拉加载的实现UIWebView也是可以添加下拉刷新和上拉加载的,只是不能直接添加在UIWebView的头部和尾部,而是在UIWebView内部有一个属性叫scrollView 属性。我门要把下拉刷新和上拉加载添加到webView.scrollView 的头部和尾部。下面我简单的说一说iOS UIWebView 的下拉刷新和上拉加载的实现。首先导入第三方库:MJRefresh添加头文件:#import "MJRefresh.h"添加代理:@interface ViewController ()<UIWebViewDelegate>声明全局变量:@property (nonatomic, strong) UIWebView *webView;//网页懒加载创建webView:- (UIWebView *)webView{ if (!_webView) { UIWebView *webView = [[UIWebView alloc] initWithFrame: CGRectMake(0, 64, self.view.frame.size.width, self.view.frame.size.height-64)]; webView.backgroundColor = [UIColor whiteColor]; webView.delegate = self; //如果你导入的MJRefresh库不是最新的库,就用下面的方法创建下拉刷新和上拉加载事件 webView.scrollView.header = [MJRefreshNormalHeaderheaderWithRefreshingTarget:self refreshingAction:@selector(headerRefresh)]; webView.scrollView.footer = [MJRefreshAutoNormalFooterfooterWithRefreshingTarget:self refreshingAction:@selector(footerRefresh)]; //如果你导入的MJRefresh库是最新的库,就用下面的方法创建下拉刷新和上拉加载事件 webView.scrollView.mj_header = [MJRefreshNormalHeaderheaderWithRefreshingTarget:self refreshingAction:@selector(headerRefresh)]; webView.scrollView.mj_footer = [MJRefreshAutoNormalFooterfooterWithRefreshingTarget:self refreshingAction:@selector(footerRefresh)]; [self.view addSubview:webView]; self.webView = webView; } return _webView;}#pragma mark - 下拉刷新- (void)headerRefresh{ [self loadData];}#pragma mark - 上拉加载- (void)footerRefresh{//注意如果此处使用调用js方法加载下一页,需要在调用后直接执行 [self endRefresh];//是因为调用JS加载web数据无法监测是否完成加载,所以会导致 footerRefresh 只执行一次//static NSInteger PageIndex = 1; 设置全局加载页数,并在每次执行headerRefresh 时PageIndex = 1;最后记得销毁 - (void)dealloc { PageIndex = 1;} PageIndex = PageIndex + 1 ; NSString * jsStr = [NSString stringWithFormat:@"LoadData('%ld')",(long)PageIndex]; [_webView stringByEvaluatingJavaScriptFromString:jsStr]; [self endRefresh];//正常调用网页如下: [self loadData];}#pragma mark - 结束下拉刷新和上拉加载- (void)endRefresh{ //当请求数据成功或失败后,如果你导入的MJRefresh库不是最新的库,就用下面的方法结束下拉刷新和上拉加载事件 [self.webView.scrollView.header endRefreshing]; [self.webView.scrollView.footer endRefreshing]; //当请求数据成功或失败后,如果你导入的MJRefresh库是最新的库,就用下面的方法结束下拉刷新和上拉加载事件 [self.webView.scrollView.mj_header endRefreshing]; [self.webView.scrollView.mj_footer endRefreshing];}#pragma mark - 加载网页- (void)loadData{ NSString *urlString =@"http://XXXXXXX"; NSURL *url = [NSURL URLWithString:urlString]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [self.webView loadRequest:request];}#pragma mark - UIWebViewDelegate- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationTyp{ return YES;}- (void)webViewDidStartLoad:(UIWebView *)webView{ [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;}- (void)webViewDidFinishLoad:(UIWebView *)webView{ [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; [self endRefresh];}- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{ [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; [self endRefresh];}到这里,你就实现了UIWebView 的下拉刷新和上拉加载
阅读全文
0 0
- iOS UIWebView 的下拉刷新和上拉加载的实现
- iOS UIWebView 的下拉刷新和上拉加载的实现
- iOS UIWebView 的下拉刷新和上拉加载的实现
- iOS UIWebView 的下拉刷新和上拉加载的实现
- iOS----下拉刷新和上拉加载的原理
- 上拉刷新下拉加载的实现
- 实现TableView的上拉加载和下拉刷新
- 实现TableView的上拉加载和下拉刷新
- tableview的下拉刷新和上拉加载功能实现
- ListView下拉刷新和上拉加载更多的实现
- 实现ListView的下拉刷新和上拉加载
- Android 实现RecyclerView的下拉刷新和上拉加载
- 实现ListView的上拉刷新和下拉加载
- iOS UITableView 的下拉刷新和上拉加载的实现
- iOS UIScrollView 的下拉刷新和上拉加载的实现
- iOS实现scrollView下拉刷新和上拉加载
- iOS 上拉加载和下拉刷新
- listView 模仿ios的上拉刷新下拉加载更多
- 手动webpack搭建vue2项目
- 事物
- 使用docker 发布的go编译的程序无法执行的问题
- jquery1.9.1中checkbox第一次移除后再添加checked不显示的问题
- BASH脚本
- iOS UIWebView 的下拉刷新和上拉加载的实现
- java 常量池的理解和尝试
- Axis,axis2,Xfire以及cxf对比
- Hibernate的事务处理
- C 语言运算符优先级(记忆口诀)
- ROS-leaning(3)-Gazebo
- 故障案例---innodb表出现大量的Waiting for table level lock
- windows10下安装tensorflow后无法使用的问题(一)
- Animation Set属性