iOS UITableView reloadData刷新的动画

关于tableView的刷新动画一般熟知的刷新行或段的动画,而刷新全部数据源的reloadData动画UITableView却没有提供。本次来mark下利用转场动画CATransition制作reloadData时的动画效果。

使用场景:问卷调查翻页时,无需创建多个控制器无限压栈,通过一个页面只刷新tableView数据源达到翻页的效果。


/*!
 @brief 跳转下一页
 */
-(void)jumpToNext{
    if (curIndex < (questions.count-1)) {
        curIndex++;
        //动画
        CATransition * animation = [CATransition animation];
        animation.type = kCATransitionReveal;  //动画切换风格(揭开效果)
        animation.subtype = kCATransitionFromRight; //动画切换方向(右侧)
        animation.duration = 0.4f;
        [_tableView.layer addAnimation:animation forKey:nil]; //“key”可能是任何字符串,nil指针也是一个有效的键
        
        [_tableView reloadData];
        
        if(curIndex == (questions.count-1)){
            [stepControl setRightBtnSubmit]; //如果翻到最后一页,改变右button为提交
        }
    }else if(curIndex == (questions.count-1)){
        //处于最后一页,点击提交按钮的操作
    }
}

/*!
 @brief 返回上一页
 */
-(void)popToLast{
    if (curIndex == (questions.count-1)) {
        [stepControl setRightBtnNormal]; //如从最后一页点击上一步,改变右button为xia'yi'bu
    }
    if (curIndex>0) {
        curIndex--;
        //动画
        CATransition * animation = [CATransition animation];
        animation.type = kCATransitionMoveIn;  //动画切换风格(慢慢进入并覆盖效果)
        animation.subtype = kCATransitionFromLeft; //动画切换方向
        animation.duration = 0.3f;
        [_tableView.layer addAnimation:animation forKey:nil];
        
        [_tableView reloadData];
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值