您的位置:首页 > 产品设计 > UI/UE

iOS UITableView reloadData刷新的动画

2017-12-12 11:03 417 查看
关于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];
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息