zoukankan      html  css  js  c++  java
  • EGORefreshTableHeaderView下拉刷新

    - (void)viewDidLoad {
        [super viewDidLoad];
    	
    	if (_refreshHeaderView == nil) {
    		
    		EGORefreshTableHeaderView *view = [[EGORefreshTableHeaderView alloc] initWithFrame:CGRectMake(0.0f, 0.0f - self.tableView.bounds.size.height, self.view.frame.size.width, self.tableView.bounds.size.height)];
    		view.delegate = self;
    		[self.tableView addSubview:view];
    		_refreshHeaderView = view;
    		[view release];
    		
    	}
    	
    	//  update the last update date
    	[_refreshHeaderView refreshLastUpdatedDate];
    
    	
    }
    
    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    	return YES;
    }
    
    
    #pragma mark -
    #pragma mark UITableViewDataSource
    
    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
        return 10;
    }
    
    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
        return 4;
    }
    
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
        
        static NSString *CellIdentifier = @"Cell";
        
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        if (cell == nil) {
            cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
        }
        
    	// Configure the cell.
    
        return cell;
    }
    
    - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
    	
    	return [NSString stringWithFormat:@"Section %i", section];
    	
    }
    
    
    #pragma mark -
    #pragma mark Data Source Loading / Reloading Methods
    
    - (void)reloadTableViewDataSource{
    	
    	//  should be calling your tableviews data source model to reload
    	//  put here just for demo
        NSLog(@"reloadTableViewDataSource");
    	_reloading = YES;
    	
    }
    
    - (void)doneLoadingTableViewData{
    	
    	//  model should call this when its done loading
    	_reloading = NO;
        NSLog(@"doneLoadingTableViewData");
    //    结束当前刷新
    	[_refreshHeaderView egoRefreshScrollViewDataSourceDidFinishedLoading:self.tableView];
    	
    }
    
    
    #pragma mark -
    #pragma mark UIScrollViewDelegate Methods
    //上滑下滑都会调用当前的scrollview 所以必须判断是否需要刷新
    - (void)scrollViewDidScroll:(UIScrollView *)scrollView{	
    	
         NSLog(@"scrollViewDidScroll");
    	[_refreshHeaderView egoRefreshScrollViewDidScroll:scrollView];
       
    		
    }
    
    - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
    	
        NSLog(@"scrollViewDidEndDragging");
    	[_refreshHeaderView egoRefreshScrollViewDidEndDragging:scrollView];
        
    	
    }
    
    
    #pragma mark -
    #pragma mark EGORefreshTableHeaderDelegate Methods
    //下拉结束上滑的时候调用此函数
    - (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView*)view{
    	NSLog(@"egoRefreshTableHeaderDidTriggerRefresh");
        //在这里改变_reloading 不然会一直调用此过程
    	[self reloadTableViewDataSource];
        //调用doneLoadingTableViewData ,在这个函数里再改变_reloading,让其可以重新实现下拉刷新
    	[self performSelector:@selector(doneLoadingTableViewData) withObject:nil afterDelay:3.0];
    	
    }
    //当返回no的时候就会刷新数据 当拖拽的时候就会调用此函数,当返回yes的时候egoRefreshTableHeaderDidTriggerRefresh就不会被调用
    
    - (BOOL)egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView*)view{
    	NSLog(@"egoRefreshTableHeaderDataSourceIsLoading");
    	return _reloading; // should return if data source model is reloading
    	
    }
    
    - (NSDate*)egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView*)view{
    	NSLog(@"egoRefreshTableHeaderDataSourceLastUpdated");
    	return [NSDate date]; // should return date data source was last changed
    	
    }
    
    
    #pragma mark -
    #pragma mark Memory Management
    
    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];
    }
    
    - (void)viewDidUnload {
    	_refreshHeaderView=nil;
    }
    
    - (void)dealloc {
    	
    	_refreshHeaderView = nil;
        [super dealloc];
    }
    

      

  • 相关阅读:
    泛社交泛泛之交也很重要
    iOS 切后台挂机
    iOS 导航栏translucent用法
    iOS 中UIButton中文字换行
    iOS 给UIimageView添加UITapGestureRecognizer手势点击事件
    iOS15UITableView多了白条,导航栏和Tabbar变成白色和标题变黑处理总结属性变化和原来基本的导航栏属性总结记录(看到就更新)
    iOS延时定时功能
    iOS uiview添加背景图案
    iOS 导航栏返回把样式带回前面怎么办
    iOS 识别图片二维码demo,复制粘贴即用
  • 原文地址:https://www.cnblogs.com/AbelChen1991/p/3675609.html
Copyright © 2011-2022 走看看