上下拉刷新框架
2017-04-24 17:48:57 0 举报
下拉刷新流程图
作者其他创作
大纲/内容
加载失败 [self.tableView.ky_header endRefreshingWithState:KYRefreshStateFail];
根据error.code
使用样例:1、下拉刷新: self.tableView.ky_header = [KYRefreshHeader headerWithRefreshingBlock:^{ }];2、上拉刷新: self.tableView.ky_footer = [KYRefreshFooter footerWithRefreshingBlock:^{ }];3、请求成功(成功回调中)的结束刷新:[self.tableView.ky_header / ky_footer endRefreshingWithState:KYRefreshStateSuccess / KYRefreshStateFail / MJRefreshStateNoMoreData];4、请求失败(失败回调中)的结束刷新:[self.tableView.ky_header / ky_footer endRefreshingFailureWithError:error];
请求成功
无网
显示tableViewHead或者无法连接服务器视图
[self.tableView.ky_header endRefreshingFailureWithError:error];
使用说明:1、使用这个框架,请取消你的网络错误提示方法,以便于框架自动处理网络错误等提示。可使用下面方法: [self postURLBaiFenNoNoticeWithApi:@\"AppExtractMsgData\" parameters:dict success:success failure:failure];2、tableView的reloadData方法需要在确保请求数据成功(json集合不为空或者0)的时候调用,就是KYRefreshStateSuccess状态,因为做了滑到底部自动调用footer的回调功能,如果是其他的状态(无更多数据,失败)去reloadData,页面会卡顿3、如果需要做进页面直接下拉刷新,直接调用ky_header的beginRefreshing的方法就好,会根据有无缓存判断做下拉刷新,还是直接走回调(小人中间跑)4、tableView的内容不足一屏幕,默认不能做上拉刷新,避免尴尬,要确保一次请求的数据可以填满整个屏幕5、传入了无更多数据(MJRefreshStateNoMoreData),就不能再上拉刷新
AFN网络请求
无响应
根据业务逻辑
显示tableViewHead或者服务器无法响应视图
网络超时
显示无数据视图或者文字提示
请求失败Failure
加载成功 [self.tableView.ky_header endRefreshingWithState:KYRefreshStateSuccess];
无更多数据 [self.tableView.ky_footer endRefreshingWithState:MJRefreshStateNoMoreData];
0 条评论
下一页