• push自定义动画


    //
    //  ViewController.m
    //  ViewControllerAnimation
    //
    //  Created by mac on 15/5/26.
    //  Copyright (c) 2015年 BSY. All rights reserved.
    //
     
    #import "ViewController.h"
    #import "TwoViewController.h"
    @interface ViewController ()<UINavigationControllerDelegate,UIViewControllerTransitioningDelegate>
    @property(nonatomic,strong)TwoViewController*two;
    @property(nonatomic,strong)UIViewController *currentViewController;;
    @end
     
    @implementation ViewController
     
    - (void)viewDidLoad {
        [super viewDidLoad];
         
        self.title = @"第一页";
        self.view.backgroundColor = [UIColor grayColor];
        self.Animator = [[BSYAnimator alloc]init];
        self.TransitionAnimator = [[BSYTransitionAnimator alloc]init];
         
        UIButton *button  = [UIButton buttonWithType: UIButtonTypeCustom];
        [button setFrame:CGRectMake(100, 100, 100, 100)];
        [button setTitle:@"Push" forState:UIControlStateNormal];
        [button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
        [self.view addSubview:button];
        [button addTarget:self action:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside];
        TwoViewController *two = [[TwoViewController alloc]init];
        self.two = two;
        self.navigationController.delegate = self;
        two.transitioningDelegate = self;
        two.modalPresentationStyle = UIModalPresentationCustom;
         
        [self addChildViewController:two];
        self.currentViewController = two;
    }
     
    -(void)buttonClick
    {
        [self.navigationController pushViewController:self.two animated:YES];
    }
     
    #pragma mark - UINavigationControllerDelegate iOS7新增的2个方法
    // 动画特效
    - (id<UIViewControllerAnimatedTransitioning>) navigationController:(UINavigationController *)navigationController animationControllerForOperation:(UINavigationControllerOperation)operation fromViewController:(UIViewController *)fromVC toViewController:(UIViewController *)toVC
    {
         
        if (operation == UINavigationControllerOperationPush) {
            return self.Animator;
        }else{
            return nil;
        }
    }
    #pragma mark - Transitioning Delegate (Modal)
    -(id<UIViewControllerAnimatedTransitioning>)animationControllerForPresentedController:(UIViewController *)presented presentingController:(UIViewController *)presenting sourceController:(UIViewController *)source
    {
        self.TransitionAnimator.animationType = AnimationTypePresent;
        return self.TransitionAnimator;
    }
     
    -(id<UIViewControllerAnimatedTransitioning>)animationControllerForDismissedController:(UIViewController *)dismissed
    {
        self.TransitionAnimator.animationType = AnimationTypeDismiss;
        return self.TransitionAnimator;
    }
     
    @end
  • 相关阅读:
    PHPStrom 设置终端字体大小
    PostgreSQL 9 夸库查询
    弹性布局
    sql中的 where 、group by 和 having 用法解析
    数据库面试中常问的几个问题
    SQL中 UNION 和 UNION ALL 操作符小结
    SQL里 inner JOIN、 left (OUTER) JOIN 、right (OUTER) JOIN、 full (OUTER) JOIN 之间的区别
    MYSQL中LIMIT用法
    Java集合框架小结
    jQuery$.each循环遍历详解,各种取值对比,$.each遍历数组、对象、Dom元素、二维数组、双层循坏、类json数据等等
  • 原文地址:https://www.cnblogs.com/wangjuneng/p/4546914.html
Copyright © 2020-2023  润新知