美文网首页
通过CAKeyframeAnimation对View做一个弹窗动

通过CAKeyframeAnimation对View做一个弹窗动

作者: 今年27 | 来源:发表于2018-12-03 17:11 被阅读7次

通过这种方式做动画的一个好处呢就是, 你不需要去改变某个view的frame, 就可以做出动画

- (void)zoomIn: (UIView *)view andAnimationDuration: (float) duration
{
    CAKeyframeAnimation * animation;
    animation = [CAKeyframeAnimation animationWithKeyPath:@"transform"];
    animation.duration = duration;
    //animation.delegate = self;
    animation.removedOnCompletion = NO;
    animation.fillMode = kCAFillModeForwards;
    NSMutableArray *values = [NSMutableArray array];
    [values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(0.1, 0.1, 1.0)]];
    [values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.2, 1.2, 1.0)]];
    [values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(0.9, 0.9, 0.9)]];
    [values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.0, 1.0, 1.0)]];
    animation.values = values;
    animation.timingFunction = [CAMediaTimingFunction functionWithName: @"easeInEaseOut"];
    [view.layer addAnimation:animation forKey:nil];
}
 调用方法很简单就是直接对某个view调用就行了
    [self zoomIn:copyView andAnimationDuration:1.0];

参考链接
http://www.cnblogs.com/zcw-ios/articles/3465583.html

相关文章

网友评论

      本文标题:通过CAKeyframeAnimation对View做一个弹窗动

      本文链接:https://www.haomeiwen.com/subject/pdxucqtx.html