• iOS 封装Modal动画代码


    1.自定义转场动画要写的代码很多,如果整个项目的转场动画都必须一致,则必须考虑把modal代码封装起来

        secondVC *second = [[secondVC alloc] init];

        second.modalPresentationStyle = UIModalPresentationCustom;

        second.transitioningDelegate = 自定义一个代理;

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

    2. 自定义代理对象

    // MYTransition.h

    #import <Foundation/Foundation.h>

    #import <UIKit/UIKit.h>

    #import "Singleton.h"

    @interface MYTransition : NSObject<UIViewControllerTransitioningDelegate>

    SingletonH(MYTransition)

    @end

    // MYTransition.m

    #import "MYTransition.h"

    #import "MYPresentationController.h"

    #import "MYAnimatedTransition.h"

    #import "UIView+MJ.h"

    @implementation MYTransition

    SingletonM(MYTransition)

    #pragma mark - UIViewControllerTransitioningDelegate

    - (UIPresentationController *)presentationControllerForPresentedViewController:(UIViewController *)presented presentingViewController:(UIViewController *)presenting sourceViewController:(UIViewController *)source

    {

        return [[MYPresentationController alloc]initWithPresentedViewController:presented presentingViewController:presenting];

    }

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

    {

        MYAnimatedTransition *anima = [[MYAnimatedTransition alloc]init];

        anima.show = YES;

        return anima;

    }

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

    {

        MYAnimatedTransition *anima = [[MYAnimatedTransition alloc]init];

        anima.show = NO;

        return anima;

    }

    @end

    3. 使用封装好的Modal动画,就非常简单了

        secondVC *second = [[secondVC alloc] init];

        second.modalPresentationStyle = UIModalPresentationCustom;

        second.transitioningDelegate = [MYTransition sharedMYTransition];    

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

  • 相关阅读:
    RNA velocity | RNA速率
    Dynamic networks | 动态网络
    Scale Free Network | 无标度网络
    GO | KEGG的注释是怎么来的?
    Nearest neighbor graph | 近邻图
    L0 Regularization
    Median absolute deviation | Singular Value Decomposition奇异值分解 | cumulative sums |
    Multivariate normal distribution | 多元正态分布
    相似性 similarity | Pearson | Spearman | p-value | 相关性 correlation | 距离 distance | distance measure
    Type I and type II errors | 第一类错误和第二类错误
  • 原文地址:https://www.cnblogs.com/oumygade/p/4280641.html
Copyright © 2020-2023  润新知