OC动画组
2015-11-22 23:47
387 查看
@interfaceCZViewController()
@property(nonatomic,strong)UIView*myView;
@end
@implementationCZViewController
/**
动画组:一组动画同时执行
动画是调出来的!
*/
- (UIView*)myView
{
if(_myView==nil)
{
_myView= [[UIViewalloc]initWithFrame:CGRectMake(110,100,100,100)];
_myView.backgroundColor=
[UIColorredColor];
[self.viewaddSubview:_myView];
}
return_myView;
}
- (void)viewDidLoad
{
[superviewDidLoad];
[selfmyView];
}
- (void)touchesBegan:(NSSet*)touches
withEvent:(UIEvent*)event
{
[selfgroupAnim];
}
#pragma mark -动画组
- (void)groupAnim
{
CAAnimationGroup*group
= [[CAAnimationGroupalloc]init];
//向动画组中添加动画
//路径动画
CAKeyframeAnimation*anim1
= [CAKeyframeAnimationanimationWithKeyPath:@"position"];
anim1.path= [UIBezierPathbezierPathWithOvalInRect:CGRectMake(60,100,200,200)].CGPath;
//旋转动画
CABasicAnimation*anim2
= [CABasicAnimationanimationWithKeyPath:@"transform.rotation"];
anim2.toValue=@(M_PI*10);
//缩放动画
CABasicAnimation*anim3
= [CABasicAnimationanimationWithKeyPath:@"transform.scale"];
anim3.fromValue=@(1.0f);
anim3.toValue=@(0.1f);
group.animations=@[anim1,
anim2, anim3];
//动画时长,一组动画整体完成的时间
group.duration=2.0f;
[self.myView.layeraddAnimation:groupforKey:nil];
}
@end
@property(nonatomic,strong)UIView*myView;
@end
@implementationCZViewController
/**
动画组:一组动画同时执行
动画是调出来的!
*/
- (UIView*)myView
{
if(_myView==nil)
{
_myView= [[UIViewalloc]initWithFrame:CGRectMake(110,100,100,100)];
_myView.backgroundColor=
[UIColorredColor];
[self.viewaddSubview:_myView];
}
return_myView;
}
- (void)viewDidLoad
{
[superviewDidLoad];
[selfmyView];
}
- (void)touchesBegan:(NSSet*)touches
withEvent:(UIEvent*)event
{
[selfgroupAnim];
}
#pragma mark -动画组
- (void)groupAnim
{
CAAnimationGroup*group
= [[CAAnimationGroupalloc]init];
//向动画组中添加动画
//路径动画
CAKeyframeAnimation*anim1
= [CAKeyframeAnimationanimationWithKeyPath:@"position"];
anim1.path= [UIBezierPathbezierPathWithOvalInRect:CGRectMake(60,100,200,200)].CGPath;
//旋转动画
CABasicAnimation*anim2
= [CABasicAnimationanimationWithKeyPath:@"transform.rotation"];
anim2.toValue=@(M_PI*10);
//缩放动画
CABasicAnimation*anim3
= [CABasicAnimationanimationWithKeyPath:@"transform.scale"];
anim3.fromValue=@(1.0f);
anim3.toValue=@(0.1f);
group.animations=@[anim1,
anim2, anim3];
//动画时长,一组动画整体完成的时间
group.duration=2.0f;
[self.myView.layeraddAnimation:groupforKey:nil];
}
@end
相关文章推荐
- 数据结构与算法
- Qt入门-列表框QListWidget类
- python之路第四篇(基础篇)
- Scala _ [underscore] magic
- ocr识别中的图像分割方法小结
- 面向对象
- QListWidget和QListWidgetItem的简单使用
- 进一步封装ListView,实现下拉刷新和分页刷新的功能
- Freemarker常用技巧(二)
- Nmap / NetCat(nc) / 网络安全工具
- hihocoder #1128 : 二分·二分查找
- GCD的常用方法
- Freemarker常用技巧(一)
- HOJ-1011 / POJ-1589
- Mvc 中ViewBag Model 查找不到解决
- GCD的基本使用
- 栈 (Stack) 的C++实现(链表方法)
- 立体视觉——固定窗口的视差图计算
- 图片轮播器
- freemarker常用的基本命令