美文网首页
iOS核心动画内存泄漏CAKeyframeAnimation

iOS核心动画内存泄漏CAKeyframeAnimation

作者: 啵啵_long_港 | 来源:发表于2018-01-15 20:50 被阅读159次
image.png
@protocol YLBAnimationWeakDelegate <NSObject>
@optional
- (void)animationDidStart:(CAAnimation *)anim;
- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag;
@end

@interface YLBAnimationDelegateManager : NSObject <CAAnimationDelegate>
@property (weak, nonatomic) id<YLBAnimationWeakDelegate> delegate;
@end

@implementation YLBAnimationDelegateManager
- (void)animationDidStart:(CAAnimation *)anim {
    if (_delegate && [_delegate respondsToSelector:@selector(animationDidStart:)]) {
        [_delegate animationDidStart:anim];
    }
}
- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag {
    if (_delegate && [_delegate respondsToSelector:@selector(animationDidStop:finished:)]) {
        [_delegate animationDidStop:anim finished:flag];
    }
}
@end

使用方法:

CAKeyframeAnimation *moveAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
YLBAnimationDelegateManager * manager = [YLBAnimationDelegateManager new]; //创建实例
manager.delegate = self; //进行弱引用
moveAnimation.delegate = manager; //进行强引用

相关文章

网友评论

      本文标题:iOS核心动画内存泄漏CAKeyframeAnimation

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