非RootLayer都有隐式动画,默认0.25秒。
1 // 1.开启 2 [CATransaction begin]; 3 // 2.设置关闭 YES-关闭;NO-开启 4 [CATransaction setDisableActions:NO]; 5 6 // 隐式动画默认的时长 0.25s! 7 // 3.设置动画时间 8 [CATransaction setAnimationDuration:1]; 9 10 // 4.设置动画完成之后需要执行的操作 11 // 动画结束后,会执行block中的代码! 12 [CATransaction setCompletionBlock:^{ 13 NSLog(@"动画结束了"); 14 }]; 15 16 // 5.设置时间曲线 -如:快进、快出、匀速运动等 17 [CATransaction setAnimationTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear]]; 18 19 _redLayer.position = CGPointMake(50, 617); 20 21 // _redLayer.transform = CATransform3DRotate(_redLayer.transform, M_PI_4, 0, 0, 1); 22 // 23 // // 缩放 24 // // sx sy, sz 代表的是,在每个轴上缩放的比例! 25 // _redLayer.transform = CATransform3DScale(_redLayer.transform, 0.6, 0.6, 1); 26 // 27 // // 平移 28 // _redLayer.transform = CATransform3DTranslate(_redLayer.transform, 0, 0, 100); 29 30 // 6.提交 31 [CATransaction commit];