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];
}
}
使用场景:问卷调查翻页时,无需创建多个控制器无限压栈,通过一个页面只刷新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];
}
}
相关文章推荐
- iOS UITableView reloadData 刷新结束后执行后续操作
- iOS UITableView使用reloadData刷新后TableViewCell向上偏移问题
- iOS开发:UITableView判断reloadData结束
- UITableView判断reloadData结束(iOS)
- IOS UITableView reload 刷新某一个cell 或 section
- IOS UITableView reloadData not respone!
- iOS: [UITableView reloadData]
- iOS UITableView reloadData 时视图漂移或者闪动解决方法
- UITableView调用reloadData不刷新的Bug
- 【iOS开发-59】LOL案例:单组tabView、alertView样式、实现监听,以及用reloadData数据刷新
- 【iOS开发-59】LOL案例:单组tabView、alertView样式、实现监听,以及用reloadData数据刷新
- UITableView/UICollectionView调用reloadData刷新时界面闪烁
- iOS UITableView reloadData问题总结
- iOS UITableView reloadData 视图漂移或者闪动解决方法
- UITableview reloadData Animation 动画效果
- UITableView判断reloadData结束(iOS)
- 解决iOS UITableView reloadData 时闪屏的问题
- uitableview刷新指定section 或 刷新指定 cell (ios)
- iOS开发UI篇—实现UItableview控件数据刷新
- iOS开发UI篇—实现UItableview控件数据刷新