iOS接入 Lottie

Posted hangman

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS接入 Lottie相关的知识,希望对你有一定的参考价值。

oc

用pod 

 

 pod ‘lottie-ios‘, ‘~> 2.5.2‘

 

 

加载动画

@property (nonatomic, strong) LOTAnimationView * lottielogo;

 

self.lottielogo = [LOTAnimationView animationNamed:@"LottieLogo1"];

    

    self.lottielogo.contentMode = UIViewContentModeScaleAspectFill;

    

    self.lottielogo.frame  = CGRectMake(0,0, self.view.frame.size.width, self.view.frame.size.height*1/3);

    

    [self.view addSubview:self.lottielogo];

 

-(void)viewWillAppear:(BOOL)animated

    

    [super viewWillAppear:animated];

    

    [self.lottielogo play];

 

-(void)viewDidDisappear:(BOOL)animated

    

    [super viewDidDisappear:animated];

    

    [self.lottielogo pause];

 

 

//创建视图的几个方法 + (instancetype)animationNamed:(NSString *)animationName NS_SWIFT_NAME(init(name:));
+ (instancetype)animationNamed:(NSString *)animationName inBundle:(NSBundle *)bundle NS_SWIFT_NAME(init(name:bundle:));
+ (instancetype)animationFromJSON:(NSDictionary *)animationJSON NS_SWIFT_NAME(init(json:));
- (instancetype)initWithContentsOfURL:(NSURL *)url;
//可用属性
@property(nonatomic,readonly)BOOLisAnimationPlaying;
//是否正在动画
@property(nonatomic,assign)BOOLloopAnimation;
//是否循环播放动画
@property(nonatomic,assign)CGFloatanimationProgress;
//动画执行进度
@property(nonatomic,assign)CGFloatanimationSpeed;
//动画速度
@property(nonatomic,readonly)CGFloatanimationDuration;
//动画时间
//实例方法
- (void)playWithCompletion:(LOTAnimationCompletionBlock)completion;
//动画结束后可以执行一个block
- (void)play;  //播放
- (void)pause; //暂停
- (void)addSubview:(LOTView *)view toLayerNamed:(NSString *)layer;
 
转场动画
 

<UIViewControllerTransitioningDelegate>代理

  HySecondViewController * vc = [HySecondViewController new];

    

    vc.transitioningDelegate = self;

    

    [self presentViewController:vc animated:YES completion:nil];

    

#pragma mark == View ControllerView dele ==

 

-(id<UIViewControllerAnimatedTransitioning>)animationControllerForPresentedController:(UIViewController *)presented presentingController:(UIViewController *)presenting sourceController:(UIViewController *)source

    

    LOTAnimationTransitionController *animationController = [[LOTAnimationTransitionController alloc] initWithAnimationNamed:@"vcTransition1"

                                                                                                              fromLayerNamed:@"outLayer"

                                                                                                                toLayerNamed:@"inLayer"

                                                                                                     applyAnimationTransform:NO];

    

    return animationController;

    

 

-(id<UIViewControllerAnimatedTransitioning>)animationControllerForDismissedController:(UIViewController *)dismissed

    

    LOTAnimationTransitionController *animationController = [[LOTAnimationTransitionController alloc] initWithAnimationNamed:@"vcTransition2"

                                                                                                              fromLayerNamed:@"outLayer"

                                                                                                                toLayerNamed:@"inLayer"

                                                                                                     applyAnimationTransform:NO];

    return animationController;

    

    



    

以上是关于iOS接入 Lottie的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 设备上获取关联接入点的 IP 地址

iOS 接入firebase简易步骤

IOS在接入Vungle广告错误

iOS接入腾讯优量汇开屏广告教程

iOS接入微信支付问题

Flutter Boost 接入实践(iOS 篇)