TableView使用CATransform3D特效动画
效果一:

在代理方法中实现:
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
CATransform3D transform = CATransform3DIdentity;
// CA_EXTERN CATransform3D CATransform3DTranslate (CATransform3D t, CGFloat tx, CGFloat ty, CGFloat tz) tx: 左右移动 ty: 上下移动
transform = CATransform3DTranslate(transform, , , );
cell.layer.transform = transform;
[UIView animateWithDuration:0.5 animations:^{
cell.layer.transform = CATransform3DIdentity;
}];
}
效果二:

代码:
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
CATransform3D transform = CATransform3DIdentity;
// CA_EXTERN CATransform3D CATransform3DTranslate (CATransform3D t, CGFloat tx, CGFloat ty, CGFloat tz) tx: 左右移动 ty: 上下移动
transform = CATransform3DTranslate(transform, , , );
cell.layer.transform = transform;
[UIView animateWithDuration:0.5 animations:^{
cell.layer.transform = CATransform3DIdentity;
}];
}
效果三:

效果四:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
CATransform3D transform = CATransform3DIdentity;
transform = CATransform3DRotate(transform, M_PI_2, , , );
transform = CATransform3DTranslate(transform, , , );
transform = CATransform3DScale(transform, 0.0, 0.0, 0.0); //由小变大
cell.layer.transform = transform;
cell.layer.opacity = 0.0;
[UIView animateWithDuration:0.6 animations:^{
cell.layer.transform = CATransform3DIdentity;
cell.layer.opacity = ;
}];
}
效果五:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
CATransform3D transform = CATransform3DIdentity;
// CA_EXTERN CATransform3D CATransform3DRotate (CATransform3D t, CGFloat angle, CGFloat x, CGFloat y, CGFloat z)
transform = CATransform3DRotate(transform, M_PI_2, , , );//渐变
// CA_EXTERN CATransform3D CATransform3DTranslate (CATransform3D t, CGFloat tx, CGFloat ty, CGFloat tz) tx: 左右移动 ty: 上下移动
transform = CATransform3DTranslate(transform, , , );//左边水平移动
transform = CATransform3DScale(transform, -0.5, 0.5, ); // sx sy 的任意一个为负
cell.layer.transform = transform;
cell.layer.opacity = 0.0;
[UIView animateWithDuration:0.6 animations:^{
cell.layer.transform = CATransform3DIdentity;
cell.layer.opacity = ;
}];
}
效果六:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
CATransform3D transform = CATransform3DIdentity;
// CA_EXTERN CATransform3D CATransform3DRotate (CATransform3D t, CGFloat angle, CGFloat x, CGFloat y, CGFloat z)
transform = CATransform3DRotate(transform, M_PI_2, 0.5, 0.0, );// 变化的角度
// CA_EXTERN CATransform3D CATransform3DTranslate (CATransform3D t, CGFloat tx, CGFloat ty, CGFloat tz) tx: 左右移动 ty: 上下移动
transform = CATransform3DTranslate(transform, , , );
// transform = CATransform3DScale(transform, 0.5, 0.0, 1); // sx sy 的任意一个为负
transform = CATransform3DScale(transform, 0.5, 0.0, ); // sx sy 的任意一个为负
cell.layer.transform = transform;
[UIView animateWithDuration:0.6 animations:^{
cell.layer.transform = CATransform3DIdentity;
}];
}
效果七:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
CATransform3D transform = CATransform3DIdentity;
// CA_EXTERN CATransform3D CATransform3DRotate (CATransform3D t, CGFloat angle, CGFloat x, CGFloat y, CGFloat z)
transform = CATransform3DRotate(transform, M_PI_2, 0.5, 0.0, );// 变化的角度
// CA_EXTERN CATransform3D CATransform3DTranslate (CATransform3D t, CGFloat tx, CGFloat ty, CGFloat tz) tx: 左右移动 ty: 上下移动
transform = CATransform3DTranslate(transform, , , );
transform = CATransform3DScale(transform, 0.0, 0.5, ); // sx sy 的任意一个为负
cell.layer.transform = transform;
[UIView animateWithDuration:0.6 animations:^{
cell.layer.transform = CATransform3DIdentity;
}];
}
效果八:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
CATransform3D transform = CATransform3DIdentity;
transform = CATransform3DRotate(transform, M_PI_2, 0.0, 0.5, );// 变化的角度 x = 0.5 y = 0.5
transform = CATransform3DTranslate(transform, , , );
transform = CATransform3DScale(transform, 0.5, 0.5, );
cell.layer.transform = transform;
[UIView animateWithDuration:0.6 animations:^{
cell.layer.transform = CATransform3DIdentity;
}];
}
效果九:

- transform = CATransform3DRotate(transform, M_PI_2, 0.5, 0.0, 0);// 变化的角度 x = 0.5 y = 0.5

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
CATransform3D transform = CATransform3DIdentity;
transform = CATransform3DRotate(transform, M_PI_2, 0.0, 0.0, );// 变化的角度 x = 0.5 y = 0.5
transform = CATransform3DTranslate(transform, -, , );
transform = CATransform3DScale(transform, 0.5, 0.0, );
cell.layer.transform = transform;
[UIView animateWithDuration:0.6 animations:^{
cell.layer.transform = CATransform3DIdentity;
}];
}
TableView使用CATransform3D特效动画的更多相关文章
- 超炫数字特效动画AE模板
下载方式: 网盘地址+迅雷地址+迅雷地址+备份地址 <ignore_js_op> 本AE模板是由Videohive机构出品的超炫数字特效动画AE模板,Videohive The Numbe ...
- 用TableView写带特效的cell
用TableView写带特效的cell 效果: 源码地址: https://github.com/YouXianMing/UI-Component-Collection 分析: 在UIScrollVi ...
- 关于UI功能解锁,UI特效动画,UI tips的再思考
之前写过一篇这样的文章,但当时的思路可行性太低 首先所有的UI面板通过发送字符串消息来告知,是否触发了解锁检测,tips检测,动画特效.可以理解为这样的接口: AsyncResult SendUIMe ...
- tableview cell添加3D动画
当cell显示之前,会先调用该方法,因此给cell添加动画,在这个方法里面即可. -(void)tableView:(UITableView *)tableView willDisplayCell:( ...
- collectionView/tableview刷新时关闭动画无效
collectionView/tableview reloadSections/reloaddata时去掉动画无效时可以尝试使用 [UIView performWithoutAnimation:^{ ...
- 踏得网互联网新技术垂直搜索服务和分享 - HTML5动效/特效/动画搜索
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/iefreer/article/details/34917729 当前主流搜索引擎在解决互联网技术创意 ...
- swift - tableView数据向上收缩动画
// // TTTableViewController.swift // tableVIewAnimation // // Created by su on 15/12/11. // Copy ...
- 腾讯开源:Kotlin 高性能特效动画组件!
先看一下效果展示: 1. VAP VAP(Video Animation Player)是企鹅电竞开发,用于播放酷炫动画的实现方案. 相比Webp, Apng动图方案,具有高压缩率(素材更小).硬件解 ...
- css3的动画特效--动画序列(animation)
首先复习一下animation动画添加各种参数 (1)infinite参数,表示动画将无限循环.在速度曲线和播放次数之间还可以插入一个时间参数,用以设置动画延迟的时间.如希望使图标在1秒钟后再开始旋转 ...
随机推荐
- python 程序构架
http://blog.csdn.net/heyabo/article/details/8806176
- [安卓]Android窗口、视图、布局
1.窗口全屏的两种方法: 转自:http://blog.sina.com.cn/s/blog_4c451e0e010133ab.html 设置全屏包括两个部分: 窗口全屏和Activity全屏.窗口全 ...
- find_in_set()
$where[]="find_in_set('".$grades."',a.grades)";
- jQuery 实现菜单
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 2014年3月份第4周51Aspx源码发布详情
足购库存管理系统源码 2014-3-24 [VS2010]功能介绍:这是为一个卖鞋子的朋友设计的,本来要用SQL数据库的,可是他说他不想安装,怕拖电脑速度,没办法,用了Access,在数据同步上和S ...
- Allegro建立引脚封装概念名词梳理
首先感谢于博士的60讲的Cadence教学视频,老师讲的还是很有耐心,很细致,谢谢! 目前还只是看到建立PCB封装这一块,正好手头上有个案子在做,边做边学的进度还是要好很多.以前的工作对原理图这一块的 ...
- C# 多线程写文件,时常写不成功
在项目中,做一个文本日志功能 为了不影响页面响应速度,所以使用了多线程,在测试的时候,风险文件写入时常不成功,经过一番周折, 发现th.IsBackground = true;后台线程不为主线程的子线 ...
- YHLMR007 服装PDA验货差异报表
*********************************************************************** * Title : YHLMR007 * * Appli ...
- Opencv读取与显示图片
#include "stdafx.h"#include "cv.h"#include "cxcore.h"#include "hi ...
- bootstrap-12
按钮(按钮组) 使用方法:按钮组和下拉菜单组件一样,需要依赖于button.js插件才能正常运行.不过我们同样可以直接只调用bootstrap.js文件.使用一个名为btn-group的容器. < ...