博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一点疑问

Posted on 2013-04-13 22:42  酸梅拯救地球  阅读(134)  评论(0)    收藏  举报

 

 

  1. [CATransaction begin]  
  2.   
  3. [CATransaction setValue:[NSNumber numberWithFloat:5.0f]  
  4.   
  5. forKey: kCATransactionAnimationDuration]  
  6.   
  7. [layer setBounds:bounds];  
  8.   
  9. [CATransaction commit];
  10.  会不会setBounds时会执行默认动画的时间???

 

 

    CABasicAnimation *animation =  
      
    [CABasicAnimation animationWithKeyPath:@”position”];  
      
    [animation setFromValue:[NSValue valueWithPoint:startPoint]];  
      
    [animation setToValue:[NSValue valueWithPoint:endPoint]];  
      
    [animation setDuration:5.0];  
      
    [layer setPosition:endpoint];  
      
    [layer addAnimation:animation forKey:nil];  

注意到forKey:这个参数是被设定为nil。这就是为什么动画不能覆盖默认动画的原因。如果你改变最后一行为[layer addAnimation:animation forKey:@"position"],动画将会按照我们设定的时间工作。这告诉了层当需要做动画时,使用我们给关键路径指定的新动画。