UIKit框架(3)UIView的动画处理方式
2016-02-28 15:43
501 查看
可以将UIView对象的位置及尺寸变化处理成动画效果
基本的动画处理方式
block方式的动画处理
动画处理中使用形变属性
动画处理中使用形变属性是一个非常好的做法基于自身初始形变值进行形变:
形变原始值常量:
基本的动画处理方式
//标识动画的开始位置 + (void)beginAnimations:(NSString *)animationID context:(void *)context //标识动画的结束位置,并开始动画 + (void)commitAnimations //设置动画执行时间,单位为秒 + (void)setAnimationDuration:(NSTimeInterval)duration //动画重复次数,默认为1 + (void)setAnimationRepeatCount:(float)repeatCount如:通过改变btn的大小使用动画处理
CGRect frame = self.btn.frame; frame.size.width *= 1.2; frame.size.height *= 1.2; [UIView beginAnimations:@"btn" context:nil]; [UIView setAnimationDuration:0.5]; self.btn.frame = frame; [UIView commitAnimations];
block方式的动画处理
+ (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations + (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion + (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delayoptions:(UIViewAnimationOptions)options animations:(void (^)(void))animationscompletion:(void (^)(BOOL finished))completion如:
CGRect frame = self.btn.frame; frame.size.width *= 1.2; frame.size.height *= 1.2; [UIView animateWithDuration:0.5 animations:^{ self.btn.frame = frame; }];
动画处理中使用形变属性
动画处理中使用形变属性是一个非常好的做法基于自身初始形变值进行形变:
//位置形变 CGAffineTransform CGAffineTransformMakeTranslation ( CGFloat tx, CGFloat ty ); //尺寸形变 CGAffineTransform CGAffineTransformMakeScale ( CGFloat sx, CGFloat sy ); //旋转形变 CGAffineTransform CGAffineTransformMakeRotation ( CGFloat angle );基于指定形变值进行形变:
//位置形变 CGAffineTransform CGAffineTransformTranslate ( CGAffineTransform t, CGFloat tx,CGFloat ty ); //尺寸形变 CGAffineTransform CGAffineTransformScale ( CGAffineTransform t, CGFloat sx,CGFloat sy ); //旋转形变 CGAffineTransform CGAffineTransformRotate ( CGAffineTransform t, CGFloat angle );如:
CGAffineTransform transform = CGAffineTransformScale(self.btn.transform, 1.2, 1.2); [UIView beginAnimations:@"btn" context:nil]; [UIView setAnimationDuration:0.5]; self.btn.transform = transform; [UIView commitAnimations];
形变原始值常量:
const CGAffineTransform CGAffineTransformIdentity;
相关文章推荐
- Python动态类型的学习---引用的理解
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 土人系列AS入门教程 -- 对象篇
- 一个简单的asp数据库操作类
- C#托管堆对象实例包含内容分析
- C#实现用于操作wav声音文件的类实例
- C#类的多态性详解
- 在线管理数据库 类
- C#实现获取不同对象中名称相同属性的方法
- Lua面向对象之类和继承浅析
- Lua中类的实现原理探讨(Lua中实现类的方法)
- Lua中的类编程代码实例
- javascript asp教程第十一课--Application 对象
- C#常用目录文件操作类实例