列表下拉刷新
来源:互联网 发布:淘宝消保 编辑:程序博客网 时间:2024/06/10 07:34
本文用到的是:RefreshTable.
文件下载请移步:https://github.com/enormego/EGOTableViewPullRefresh
本来想传图的。可不知道怎么回事,无法上传。暂时不上传了
1.请将RefreshTableHeaderView的两个相关文件及图片文件 引入你的工程中
2.引入相关
.h中的操作
2.1 #import "EGORefreshTableHeaderView.h"
2.2 添加
EGORefreshTableHeaderDelegate ,还要记得引入UIScrollViewDelegate
2.3 在.h中添加
EGORefreshTableHeaderView *_refreshHeaderView;
BOOL _reloading;
2.4 添加两个方法
- (void)reloadTableViewDataSource;
- (void)doneLoadingTableViewData;
如下:
- #import <UIKit/UIKit.h>
- #import "EGORefreshTableHeaderView.h"
- @interface KeHuanWangFirstViewController : UIViewController<UITableViewDataSource,UITableViewDelegate,UIScrollViewDelegate,EGORefreshTableHeaderDelegate>{
- EGORefreshTableHeaderView *_refreshHeaderView;
- BOOL _reloading;//主要是记录是否在刷新中
- }
- //这两个是下拉刷新的事件
- - (void)reloadTableViewDataSource;
- - (void)doneLoadingTableViewData;
3. .m文件中的操作
- //下拉刷新相关代码---------------
- //重加载事件
- - (void) reloadTableViewDataSource{
- _reloading = YES;
- //这里引用你加载数据的方法
- }
- //加载结束事件
- - (void)doneLoadingTableViewData{
- // model should call this when its done loading
- _reloading = NO;
- if (得到的数组数是大于0的) {
- [self.table reloadData];
- }else{
- UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"获取数据失败或网络异常" delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil];
- [alert show];
- [alert release];
- }
- [_refreshHeaderView egoRefreshScrollViewDataSourceDidFinishedLoading:self.table];
- }#pragma mark -#pragma mark UIScrollViewDelegate Methods
- //table也是scrollview所以只要滚动就会调用这个方法
- - (void)scrollViewDidScroll:(UIScrollView *)scrollView{
- NSLog(@"Scrolling...");
- [_refreshHeaderView egoRefreshScrollViewDidScroll:scrollView];
- }
- //滚动结束就会调用这个方法
- - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
- NSLog(@"Scrolling Stoped...");
- [_refreshHeaderView egoRefreshScrollViewDidEndDragging:scrollView];
- }
- #pragma mark -
- #pragma mark EGORefreshTableHeaderDelegate Methods
- //释放更新
- - (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView*)view{
- //
- // [self reloadTableViewDataSource];
- [NSThread detachNewThreadSelector:@selector(reloadTableViewDataSource) toTarget:self withObject:nil];
- // [self performSelector:@selector(doneLoadingTableViewData) withObject:nil afterDelay:3.0];
- }
- - (BOOL)egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView*)view{
- return _reloading; // should return if data source model is reloading
- }
- //最后一次改变的数据
- - (NSDate*)egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView*)view{
- return [NSDate date]; // should return date data source was last changed
- }
- #pragma mark - View lifecycle
- //手动调用下拉刷新的代码 --------------
- -(void) ViewFrashData
- {
- [self.tabNews setContentOffset:CGPointMake(0, -75) animated:YES];
- [self performSelector:@selector(doneManualRefresh) withObject:nil afterDelay:0.4];
- }
- -(void)doneManualRefresh
- {
- [_refreshHeaderView egoRefreshScrollViewDidScroll:self.tabNews];
- [_refreshHeaderView egoRefreshScrollViewDidEndDragging:self.tabNews];
- }
- //下拉刷新相关代码---------------
- //手动调用下拉刷新的代码 --------------
- //刷新按钮事件
- - (void) reloadInfo
- {
- //手动下拉刷新相关
- [self ViewFrashData];
- }
- - (void)viewDidLoad
- {[super viewDidLoad];
- // Do any additional setup after loading the view, typically from a nib.
- //下拉刷新相关
- if (
- _refreshHeaderView ==nil) {
- EGORefreshTableHeaderView *view = [[EGORefreshTableHeaderView alloc] initWithFrame:CGRectMake(0.0f,0.0f - self.tabNews.bounds.size.height,self.view.frame.size.width,self.tabNews.bounds.size.height)];
- //0,-416,320,416
- NSLog(@"%f",self.tabNews.bounds.size.height);
- view.delegate = self;
- [self.tabNewsaddSubview:view];
- _refreshHeaderView = view;
- [view release];
- }
- // update the last update date
- [_refreshHeaderViewrefreshLastUpdatedDate];
- //如果需要进入view或按刷新按钮就出现下拉加载效果。可以直接调用reloadInfo方法
- 列表下拉刷新
- android列表下拉刷新
- 下拉刷新列表
- 列表下拉刷新
- 【整理】android列表下拉刷新
- 下拉刷新列表的实现
- Ajax异步刷新下拉列表
- 下拉列表刷新,分页加载
- Android自定义下拉刷新列表
- Android列表下拉刷新操作
- .net2003+ajax 无刷新区域下拉列表
- Android 实现仿iphone下拉刷新列表
- Android中实现下拉刷新列表分析
- RecyclerView+SwipeRefreshLayout实现下拉刷新列表
- 列表上拉刷新与下拉加载
- android中信息列表的下拉刷新和下拉加载
- 列表下拉/上拉刷新:(三)强制刷新
- 列表下拉/上拉刷新:(三)强制刷新
- ssh传输文件显示Encountered 1 errors during the transfer 如何解决
- SQL Server 事务隔离级别的可视化效果
- LINUX mount -t用法
- IOS可以实现异步下载但是无网条件下不行
- 加速你的Python代码
- 列表下拉刷新
- Homebrew的安装与使用
- 50行Python代码制作一个计算器
- P6800 - 体验安装ICS4.1 及 还原4.0.4
- 试用百度云计算平台Python环境
- 菜鸟的可悲
- 题目23: 取石子(一)
- SATA硬盘,ATA硬盘
- Python简史