OC动画组
发布日期:2022-02-15 02:36:16 浏览次数:4 分类:技术文章

本文共 1306 字,大约阅读时间需要 4 分钟。

@interface
CZViewController
()
@property
(
nonatomic
,
strong
)
UIView
*myView;
@end
@implementation
CZViewController
/**
 
动画组:一组动画同时执行
 
 
动画是调出来的!
 */
- (
UIView
*)myView
{
   
if
(
_myView
==
nil
) {
       
_myView
= [[
UIView
alloc
]
initWithFrame
:
CGRectMake
(
110
,
100
,
100
,
100
)];
       
_myView
.
backgroundColor
= [
UIColor
redColor
];
       
        [
self
.
view
addSubview
:
_myView
];
    }
   
return
_myView
;
}
- (
void
)viewDidLoad
{
    [
super
viewDidLoad
];
    [
self
myView
];
}
- (
void
)touchesBegan:(
NSSet
*)touches withEvent:(
UIEvent
*)event
{
    [
self
groupAnim
];
}
#pragma mark -
动画组
- (
void
)groupAnim
{
   
CAAnimationGroup
*group = [[
CAAnimationGroup
alloc
]
init
];
   
   
//
向动画组中添加动画
   
//
路径动画
   
CAKeyframeAnimation
*anim1 = [
CAKeyframeAnimation
animationWithKeyPath
:
@"position"
];
    anim1.
path
= [
UIBezierPath
bezierPathWithOvalInRect
:
CGRectMake
(
60
,
100
,
200
,
200
)].
CGPath
;
   
   
//
旋转动画
   
CABasicAnimation
*anim2 = [
CABasicAnimation
animationWithKeyPath
:
@"transform.rotation"
];
    anim2.
toValue
=
@(
M_PI
*
10)
;
   
   
//
缩放动画
   
CABasicAnimation
*anim3 = [
CABasicAnimation
animationWithKeyPath
:
@"transform.scale"
];
    anim3.
fromValue
=
@(1.0f)
;
    anim3.
toValue
=
@(0.1f)
;
   
    group.
animations
=
@[
anim1, anim2, anim3
]
;
   
   
//
动画时长,一组动画整体完成的时间
    group.
duration
=
2.0f
;
    [
self
.
myView
.
layer
addAnimation
:group
forKey
:
nil
];
}
@end

转载地址:https://blog.csdn.net/Peter_AM/article/details/49983329 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:GCD的常用方法
下一篇:关键帧动画

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月16日 01时30分41秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章