IOS开发——TabelView下拉刷新

来源:互联网 发布:八股作文万花筒软件 编辑:程序博客网 时间:2024/05/18 03:26

IOS开发——TabelView下拉刷新

方法一:

工具下载地址:http://download.csdn.net/detail/u012881779/7022377

#import<UIKit/UIKit.h>#import"EGORefreshTableHeaderView.h"@interfaceDMPictureTitle:UIViewController<UIScrollViewDelegate,EGORefreshTableHeaderDelegate,UITableViewDelegate,UITableViewDataSource>//很多情况下会有多个TableView,所有用数组@property(strong, nonatomic )NSMutableArray*ymRefreshViewArr;//存储下拉刷新@property(strong, nonatomic) NSMutableArray*ymTableViewArr;//存储Tableview@propertyBOOL ymReloading;@end-(void)viewDidLoad{   [super viewDidLoad];   //菜单设置   [self gmSecondTitle];}-(void)gmSecondTitle{   //存储TableView   self.ymTableViewArr = [[NSMutableArray alloc] init];   //存储下拉刷新   self.ymRefreshViewArr = [[NSMutableArray alloc]init];       //Tableview       UITableView *tempTavleV = [[UITableViewalloc]initWithFrame:CGRectMake(0, 0, 320, 460) style:UITableViewStylePlain];       tempTavleV.delegate = self;       tempTavleV.dataSource = self;       [self.view addSubview:tempTavleV];       [self.ymTableViewArr addObject:tempTavleV];       //下拉刷新       EGORefreshTableHeaderView *refreshView =[[EGORefreshTableHeaderView alloc] init];       [refreshView setFrame:CGRectMake(0, 0, 320, 0)];       [refreshView setBackgroundColor:[UIColor blueColor]];       [refreshView setDelegate:self];//委托       [self.ymRefreshViewArr addObject:refreshView];       [tempTavleV addSubview:refreshView];       [refreshView refreshLastUpdatedDate];//刷新时间       [self.ymRefreshViewArr addObject:refreshView];}//下拉刷新实现部分-(void)refreshData{   NSLog(@"刷新数据");}-(void)reloadTableViewDataSource{   self.ymReloading= YES;   [self refreshData];}-(void)doneLoadingTableViewData{// model should call this when its done loading   self.ymReloading= NO;   for(int i = 0;i <[self.ymRefreshViewArr count]; i ++ ){       [[self.ymRefreshViewArr objectAtIndex:i] egoRefreshScrollViewDataSourceDidFinishedLoading:[self.ymTableViewArr objectAtIndex:i]];   }}-(void)viewDidUnload {   //下拉刷新   for(int i = 0 ;i < [self.ymRefreshViewArr count];i ++){       EGORefreshTableHeaderView *tempRHV =[self.ymRefreshViewArr objectAtIndex:i];       tempRHV  = nil;   } //这里准备数据。。。}#pragmamark EGORefreshTableHeaderDelegate-(void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView*)view{   [self reloadTableViewDataSource];   [self performSelector:@selector(doneLoadingTableViewData)withObject:nilafterDelay:3.0];}-(BOOL)egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView*)view{   // should return if data source model isreloading   return self.ymReloading;   }-(NSDate*)egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView*)view{   return [NSDate date];}#pragmamark UIScrollViewDelegate-(void)scrollViewDidScroll:(UIScrollView *)scrollView{   for(int i = 0;i <[self.ymRefreshViewArr count]; i ++ ){       [[self.ymRefreshViewArr objectAtIndex:i] egoRefreshScrollViewDidScroll:scrollView];   }}-(void)scrollViewDidEndDragging:(UIScrollView *)scrollViewwillDecelerate:(BOOL)decelerate{   for(int i = 0;i <[self.ymRefreshViewArr count]; i ++ ){       [[self.ymRefreshViewArrobjectAtIndex:i]egoRefreshScrollViewDidEndDragging:scrollView];   }}//后面是Tabelview部分,偏题附加#pragmamark  UITableViewDataSource-(NSInteger)numberOfSectionsInTableView:(UITableView*)tableView{   return 1;}-(NSInteger)tableView:(UITableView *)tableViewnumberOfRowsInSection:(NSInteger)section{   return 20;}-(UITableViewCell *)tableView:(UITableView *)tableViewcellForRowAtIndexPath:(NSIndexPath *)indexPath{   static NSString *CellIdentifier = @"Cell";   UITableViewCell *cell = [tableViewdequeueReusableCellWithIdentifier:CellIdentifier];      if (cell == nil) {       cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:CellIdentifier];   }   //无色   cell.selectionStyle = UITableViewCellSelectionStyleNone;   return cell;}#pragmamark UITableViewDelegate-(CGFloat)tableView:(UITableView *)tableViewheightForRowAtIndexPath:(NSIndexPath *)indexPath{   return 250;}@end 

方法二:

Demo:http://download.csdn.net/detail/u012881779/8604963

#import "SVPullToRefresh.h"- (void)viewDidLoad {    [super viewDidLoad];    //下拉刷新    __weak GroupViewController * weakVC = self;    [weakVC.tableView addPullToRefreshWithActionHandler:^{        [weakVC refreshAction];        [weakVC performSelector:@selector(stopRefreshAnimation) withObject:nil afterDelay:3];    }];}-(void)refreshAction{    [self valueAction];    [_tableView reloadData];}//停止下拉刷新-(void)stopRefreshAnimation{    [self.tableView.pullToRefreshView stopAnimating];}





0 0