tableView 中一些动画效果通常都是实现willDisplayCell的方法来展示出一些动画的效果

(1).带有3D效果的小型动态展示

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{

 

 CATransform3D rotation;

rotation = CATransform3DMakeRotation( (-48.0*M_PI)/180, 0.0, 0.7, 0.4);

rotation.m34 = 1.0/ -600;  //关于catransform3d m34,我会在最下方给出一些理解

cell.layer.shadowColor = [[UIColor blackColor]CGColor];

cell.layer.transform = rotation;

cell.layer.anchorPoint = CGPointMake(0.5, 0.5);

//CATransform3DIdentity

[UIView animateWithDuration:0.8 animations:^{

cell.layer.transform = CATransform3DMakeRotation( (18.0*M_PI)/180, 0.0, 0.7, 0.4);

cell.alpha = 1;

} completion:^(BOOL finished) {

[UIView beginAnimations:@"rotation" context:NULL];

[UIView setAnimationDuration:0.8];

cell.layer.transform = CATransform3DIdentity;

cell.alpha = 1;

[UIView commitAnimations];

}];

}

(2).进入界面或者下拉时显示一种弹出效果的cell效果

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{

//xy方向缩放的初始值为0.4

cell.layer.transform = CATransform3DMakeScale(0.4, 0.4, 1);

//    设置动画时间为1.25秒,xy方向缩放的最终值为1

[UIView animateWithDuration:1.25 animations:^{

cell.layer.transform = CATransform3DMakeScale(1, 1, 1);

}];

}

(3).catransform3d m34的理解

  transform的结构如下:
  struct CATransform3D
  {
    CGFloat m11, m12, m13, m14;
    CGFloat m21, m22, m23, m24;
    CGFloat m31, m32, m33, m34;
    CGFloat m41, m42, m43, m44;
  };

  首先要实现view(layer)的透视效果(就是近大远小),是通过设置m34的:

  CATransform3D rotationAndPerspectiveTransform = CATransform3DIdentity;
  rotationAndPerspectiveTransform.m34 = 1.0 / -500;

  m34负责z轴方向的translation(移动),m34= -1/D,  默认值是0,也就是说D无穷大,这意味layer in projection plane(投射面)和layer in world   coordinate重合了。

  D越小透视效果越明显。
  所谓的D,是eye(观察者)到投射面的距离。

具体详情可参考下方链接:

http://www.jianshu.com/p/9cbf52eb39dd

tableView简单的动画效果的更多相关文章

  1. 【从无到有】教你使用animation做简单的动画效果

    今天写写怎么用animation属性做一些简单的动画效果 在CSS选择器中,使用animition动画属性,调用声明好的关键帧 首先声明一个动画(关键帧): @keyframes name{ from ...

  2. 用Direct2D和DWM来做简单的动画效果2

    原文:用Direct2D和DWM来做简单的动画效果2 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/sunnyloves/article/detai ...

  3. 用Direct2D和DWM来做简单的动画效果

    原文:用Direct2D和DWM来做简单的动画效果 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/sunnyloves/article/detail ...

  4. ExtJS简单的动画效果2(ext js淡入淡出特效)

    Ext 开发小组则提供了 Fx 类集中处理了大部分常用的 js 动画特效,减少了我们自己手写代码的复杂度. 面我给出一个简单的实例代码,其中囊括了大部分的 Ext 动画效果: (注意导入js和css文 ...

  5. 32.ExtJS简单的动画效果

    转自:http://blog.sina.com.cn/s/blog_74684ec501015lhq.html 说明:这篇文章的大部分内容来源于网上,经过自己实现其效果后,整理如下: 在进行 Java ...

  6. jquery 最简单的动画效果

    <p style="border: 1px solid red"> 我会慢慢变大 </p> <a>dianji</a> <sc ...

  7. NSLayoutConstraint 布局,配合简单的动画效果

    demo地址 :链接: http://pan.baidu.com/s/1c00ipDQ 密码: mi4c 1 @interface ViewController () @property (nonat ...

  8. css制作简单loading动画效果【css3 loading加载动画】

    曾经以为,loading的制作需要一些比较高深的web动画技术,后来发现大多数loading都可以用“障眼法”做出来.比如一个旋转的圆圈,并不都是将gif图放进去,有些就是画个静止图像,然后让它旋转就 ...

  9. ExtJS简单的动画效果(ext js淡入淡出特效)

    1.html页面:Application HTML file - index.html <html> <head> <title>ExtJs fadeIn() an ...

随机推荐

  1. 瀑布流StaggeredGridView 下拉刷新

    1.项目中用到了瀑布流,之前用的是PinterestLikeAdapterView这个控件  然后上拉加载更多跟下拉刷新用的是XListView ,但是加载更多或者下拉刷新的时候闪屏,对用户体验很不好 ...

  2. 高级javascript---变量作用域

    变量作用域 (JavaScript) JavaScript 有两个范围:全局和局部. 在函数定义之外声明的变量是全局变量,它的值可在整个程序中访问和修改. 在函数定义内声明的变量是局部变量. 每当执行 ...

  3. 【记录】vmware fusion 7 windows 10 unidentified network

    今天在 vmware fusion 7 中,使用 windows 10 时,突然报出一个错误(忘记截图了),当时就要求强制重启系统,也没怎么在意,但是重启之后,发现 windows 10 居然不能联网 ...

  4. AVFoundation播放视频时显示字幕,切换音轨

    主要用到两个类:AVMediaSelectionGroup 和 AVMediaSelectionOption 调用 AVAsset对象的availableMediaCharacteristicsWit ...

  5. IntelliJ IDEA上创建maven Spring MVC项目

    IntelliJ IDEA上创建Maven Spring MVC项目 各软件版本 利用maven骨架建立一个webapp 建立相应的目录 配置Maven和SpringMVC 配置Maven的pom.x ...

  6. FineUI Grid控件高度自适应

    引言 页面里使用f:Grid控件,添加分页功能,然后高度填充整个页面. 如何使用 使用FineUI 控件的每个页面都有一个f:PageManager控件,它包含属性:AutoSizePanelID,设 ...

  7. what's this? 浅谈js中this的指向问题

    刚刚学习js的朋友可能和我一样,看到代码中的this总是一脸懵逼,不知道this到底指向谁.经过一段时间的了解,我想跟大家分享下自己的理解. 何时出现this 函数在调用的时候,会自动获得两个特殊变量 ...

  8. HTTP2特性预览和抓包分析

    背景 近年来,http网络请求量日益添加,以下是httparchive统计,从2012-11-01到2016-09-01的请求数量和传输大小的趋势图: 当前大部份客户端&服务端架构的应用程序, ...

  9. Nancy之基于Self Hosting的补充小Demo

    前面把Hosting Nancy with ASP.NET.Self Hosting Nancy和Hosting Nancy with OWIN 以demo的形式简单描述了一下. 这篇是为Self H ...

  10. WPF DataGrid 鼠标双击选中的DataGridRow及Row数据

    设置DataGrid的MouseDoubleClick事件 代码 //DataGrid鼠标双击事件 Private void dataGrid_MouseDoubleClick(object send ...