1.
如果不需要与用户交互则使用核心动画,因为核心动画只是假象,并没有真实的改变UIView的属性值
UIView 必须通过改变属性值 才能完成动画
// CABasicAnimation *anim = [CABasicAnimation animation];
//
// anim.keyPath = @"position";
//
// anim.toValue = [NSValue valueWithCGPoint:CGPointMake(150, 400)];
//
// // 注意:取消反弹代码必须放在图层添加动画之前。
// anim.removedOnCompletion = NO;
//
// anim.fillMode = kCAFillModeForwards;
//
// anim.delegate = self;
//
// [_redView.layer addAnimation:anim forKey:nil];
[UIView animateWithDuration:0.25 animations:^{
_redView.layer.position = CGPointMake(150, 400);
}
completion:^(BOOL finished) {
NSLog(@"%@", NSStringFromCGPoint(_redView.layer.position));
}];
}
// 注意:核心动画一切都是假象,并不会真实的改变图层的属性值,如果以后做动画的时候,不需要与用户交互,通常用核心动画(转场)。
// UIView动画必须通过修改属性的真实值,才有动画效果。