上拉下拉刷新终结版---你需要替换的地方

本文提供了一个DEMO下载链接,并详细解释了如何实现下拉刷新功能,包括加载数据源、完成加载和自动下拉刷新的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


到http://pan.baidu.com/s/1pJ4nadX下载DEMO


上拉下拉刷新终结版---你需要替换的地方在如下三个函数,具体为红色粗体部分。


/**

 *  加载数据源(通常是你的异步操作)

 *

 *  @param aRefreshPo 载入/加载位置

 */

- (void)reloadTableViewDataSource

{

   switch (self.refreshPos) {

        caseEGORefreshHeader:

           [self performSelector:@selector(doneLoadingTableViewData) withObject:nil afterDelay:3.0];

           break;

        caseEGORefreshFooter:

           [self performSelector:@selector(doneLoadingTableViewData) withObject:nil afterDelay:3.0];

           break;

            

       default:

           break;

    }

}



/**

 *  完成加载

 */

- (void)doneLoadingTableViewData

{

    int count = [self.mutableArray count];

    for (int i = 0; i < 3; i++) {

        [self.mutableArray addObject:[NSString stringWithFormat:@"%d", count + i]];

    }

    [self.myTableView reloadData];

    

    

    if (self.refreshHeaderView &&self.refreshPos ==EGORefreshHeader) {

        [self.refreshHeaderViewegoRefreshScrollViewDataSourceDidFinishedLoading:self.myTableView];

        [selfsetFooterView];

    }

    

    if (self.refreshFooterView  &&self.refreshPos ==EGORefreshFooter) {

        [self.refreshFooterViewegoRefreshScrollViewDataSourceDidFinishedLoading:self.myTableView];

        [selfsetFooterView];

    }

    

   self.reloading =NO;

    self.refreshPos =EGORefreshNone;

    

}


/**

 *  自动下拉刷新

 *

 *  @param animated

 */

-(void)showRefreshHeader:(BOOL)animated

{

   if (animated)

    {

        [UIViewbeginAnimations:nilcontext:NULL];

        [UIViewsetAnimationDuration:0.2];

       self.myTableView.contentInset =UIEdgeInsetsMake(60.0f,0.0f, 0.0f,0.0f);// set the Inset

        [UIViewcommitAnimations];

    }

   else

    {

       self.myTableView.contentInset =UIEdgeInsetsMake(60.0f,0.0f, 0.0f,0.0f);

        [self.myTableViewscrollRectToVisible:CGRectMake(0,0.0f, 1, 1)animated:NO];

    }

    if (self.refreshHeaderView) {

        [self.refreshHeaderViewsetState:EGOOPullRefreshLoading];

    }

    

    //你的异步操作

    self.refreshPos =EGORefreshHeader;

   [self performSelector:@selector(doneLoadingTableViewData) withObject:nil afterDelay:3.0];

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值