CGAffineTransform与CATransform3D】的更多相关文章

CGAffineTransform 1.CG的前缀告诉我们,CGAffineTransform类型属于Core Graphics框架,Core Graphics实际上是一个严格意义上的2D绘图API,并且CGAffineTransform仅仅对2D变换有效.实际上UIView的transform属性是一个CGAffineTransform类型,用于在二维空间做旋转,缩放和平移.CGAffineTransform是一个可以和二维空间向量(例如CGPoint)做乘法的3X2的矩阵(见图5.1). U…
我们先来看下CATransform3D的头文件 struct CATransform3D { CGFloat m11, m12, m13, m14; CGFloat m21, m22, m23, m24; CGFloat m31, m32, m33, m34; CGFloat m41, m42, m43, m44; }; typedef struct CATransform3D CATransform3D; 可以看到CATransform3D是一个4 * 4结构体, 另外它还有一个弟弟CGAff…
1.CATransform3D简介 layer有个属性transform,是CATransform3D类型.可以使其在三维界面作平移.缩放和旋转单独或组合动画! CATransform3D结构体: /* Homogeneous three-dimensional transforms. m11:控制x方向上的缩放 m41:控制x方向上的平移 m22:控制y方向上的缩放 m42:控制y方向上的平移 m33:控制z方向上的缩放 m43:控制z方向上的平移 m21.m31.m12.m32.m13.m2…
第五章:Transforms   Affine Transforms   CGAffineTransform是二维的     Creating a CGAffineTransform   主要有三种变化方法 旋转: CGAffineTransformMakeRotation(CGFloat angle)     缩放: CGAffineTransformMakeScale(CGFloat sx, CGFloat sy)   移动: CGAffineTransformMakeTranslation…
如果想在底层做一些改变,想实现一些特别的动画,这时除了学习Core Animation之外,别无选择. 最近在看<iOS Core Animation:Advanced Techniques>这本书籍,尚有所收获,并将之记录下来. CALayer如果将UIView说成是视图,那么CALayer就是图层了.每一个 UIView 的身后对应一个 Core Animation 框架中的 CALayer:每一个 CALayer 都是 UIView 的代理.可以尝试运行下面的代码,会发现打印是一样的内存…
在iOS开发中,制作动画效果是最让开发者享受的环节之一.一个设计严谨.精细的动画效果能给用户耳目一新的效果,吸引他们的眼光 —— 这对于app而言是非常重要的.我们总是追求更为酷炫的实现,如果足够仔细,我们不难发现一个好的动画通过步骤分解后本质上不过是一个个简单的动画实现.本文就个人搜集的一些动画相关的理论和实践知识做个小结,不足之处请勿见怪. 理论 UIview VS UIlayer UIView只是CALyer之上的封装,更准确的来说,UIView是CALyer的简版封装,加上事件处理的集合…
animateWithDuration:<#(NSTimeInterval)#> delay:<#(NSTimeInterval)#> options:<#(UIViewAnimationOptions)#> animations:<#^(void)animations#> completion:<#^(BOOL finished)completion#> duration: 动画时长 delay: 决定了动画在延迟多久之后执行 options:…
caanimation 整理了解  http://geeklu.com/2012/09/animation-in-ios/ 几个可以用来实现热门APP应用PATH中menu效果的几个方法 +(CABasicAnimation *)opacityForever_Animation:(float)time //永久闪烁的动画 { CABasicAnimation *animation=[CABasicAnimation animationWithKeyPath:@"opacity"]; a…
关于图层的几个坐标系. 对于ios来说,坐标系的(0,0)点在左上角,就是越往下,Y值越大.越往右,X值越大. 一个图层的frame,它是position,bounds,anchorPoint和transform属性的一部分. 设置一个新的frame将会相应的改变图层的position和bounds,但是frame本身并没有保存. position:是一个CGPoint值,它指定图层相当于它父图层的位置,该值基于父图层的坐标系. bounds:是一个CGRect值,指定图层的大小(bounds.…
关于图层的几个坐标系. 对于ios来说,坐标系的(0,0)点在左上角,就是越往下,Y值越大.越往右,X值越大. 一个图层的frame,它是position,bounds,anchorPoint和transform属性的一部分. 设置一个新的frame将会相应的改变图层的position和bounds,但是frame本身并没有保存. position:是一个CGPoint值,它指定图层相当于它父图层的位置,该值基于父图层的坐标系. bounds:是一个CGRect值,指定图层的大小(bounds.…