作iOS开发有些日子了,知道动画怎么去实现,可是:objective-c
什么是'隐式动画'?异步
什么是'显式动画'?动画
什么是'关键帧动画'?code
核心动画的隐式动画模型假定全部动画图层属性的变化应该是渐进的和异步的。动态的动画场景能够在没有显式的动画图层时候实现。改变更画显示的图层的属性将会致使图层隐式把旧值动画显示为新值,虽然动画是持续的,可是设置新的目标值会致使图层从当前状态动画过分到新的目标值对象
OrderSearchVC *search = [[OrderSearchVC alloc] init]; [self.navigationController pushViewController:search animated:YES];
核心动画同事提供了一个显示动画模型。该显式动画模型须要你建立一个动画对象,并设置开始值和结束的值,显示动画不会开始执行,直到你把该动画应用到某个图层上面ci
CABasicAnimation *opAnim = [CABasicAnimation animationWithKeyPath:@opacity]; opAnim.duration = 1.0; opAnim.fromValue = [NSNumber numberWithFloat:0.1]; opAnim.toValue= [NSNumber numberWithFloat:1.0]; opAnim.repeatCount = 1; [view.layer addAnimation:opAnim forKey:@animateOpacity];
CAKeyframeAnimation *opAnim = [CAKeyframeAnimation animationWithKeyPath:@opacity]; opAnim.duration = 6.0; opAnim.values =[NSArray arrayWithObjects: [NSNumber numberWithFloat:0.0], [NSNumber numberWithFloat:0.1], [NSNumber numberWithFloat:0.3], [NSNumber numberWithFloat:1.0], nil]; opAnim.keyTimes = [ NSArray arrayWithObjects: [NSNumber numberWithFloat:0.0], [NSNumber numberWithFloat:0.3], [NSNumber numberWithFloat:0.6], [NSNumber numberWithFloat:1.0], nil]; [view.layer addAnimation:opAnim forKey:@keyAnimateOpacity];