动画-CGAffineTransform
2016-06-27 00:00
183 查看
CoreGraphics框架中的CGAffineTransform类可用于设定UIView的transform属性,控制视图的缩放、旋转和平移操作.
transform 是一种状态,并且只有一种状态.
UIView的transform属性是一个结构体变量, 代表一种状态, 通过UIView的动画效果, 可以实现缩放, 旋转和平移操作.
transform 是一种状态,并且只有一种状态.
UIView的transform属性是一个结构体变量, 代表一种状态, 通过UIView的动画效果, 可以实现缩放, 旋转和平移操作.
- (IBAction)transition:(id)sender { // 1. 旋转操作, 参数是旋转的角度, 在原始的状态下创建一种新的状态 //CGAffineTransform transform = CGAffineTransformMakeRotation(M_PI_4); // 2. 旋转操作, 第一个参数是参照的状态, 第二个参数是最终的参照状态上做形变的状态. //CGAffineTransform transform = CGAffineTransformRotate(self.imageView.transform, M_PI_4); // 3. 缩放操作, 参数是缩放的比例, 是原来的多少倍, 在原始状态下创建一种新的状态 CGAffineTransform transform1 = CGAffineTransformMakeScale(0.5, 0.5); // 4. 缩放操作, 以指定的状态为参照转换到新的状态. //CGAffineTransform transform = CGAffineTransformScale(self.imageView.transform, 0.9, 0.9); // 5. 平移操作, 参数是在x,y轴上平移的距离 //CGAffineTransform transform = CGAffineTransformMakeTranslation(20, 200); // 6. 平移操作 //CGAffineTransform transform2 = CGAffineTransformTranslate(self.imageView.transform, 0, 200); // 7. 将两种形变 合并/混合到一块. // CGAffineTransform transform = CGAffineTransformConcat(transform1, transform2); // 8. 比较两个状态是否相等. // BOOL isEqual = CGAffineTransformEqualToTransform(<#CGAffineTransform t1#>, <#CGAffineTransform t2#>) // 9. 判断是不是原始状态 // BOOL isIdentity = CGAffineTransformIsIdentity(<#CGAffineTransform t#>); // 10. 状态翻转, 放大变成缩小, 上移变成下移, CGAffineTransform transform = CGAffineTransformInvert(transform1); [UIView animateWithDuration:1.f animations:^{ self.imageView.transform = transform; }]; // 表示原始的状态 . // CGAffineTransformIdentity }
相关文章推荐
- 必选项:你的网站易于阅读吗?
- 自增列允许插入0值
- 互联网创业:如何雇佣一个优秀的程序员?
- 博客分享:程序员提升自我必备
- 服务器托管的众多细节
- 根据userAgent识别来源(pc,mobile)
- Docker 1.12.0将要发布的新功能
- Systemd 入门教程:实战篇
- TCP高性能网络编程(套接字深入详解)
- iOS绘制图片与文字
- iOS定时器雪花效果
- iOS图片水印实现
- iOS裁切图片(圆头像的实现)
- spring 3.1 特性之 @propertysource
- 为何mac用户喜欢使用NTFS For Mac
- NTFS For Mac适合哪些操作系统使用
- 哪里可以免费下载cleanmymac
- 如何在Mac上运行Windows XP操作系统
- 深入理解go的slice和到底什么时候该用slice?
- CentOS6.5安装mysql5.6-GA版