zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    spring scope prototype与singleton区别
    JAVA中的内存们
    汉诺塔问题
    关于设置tomcat端口为80的事
    struts2表单提单细节处理
    volatile的作用
    Java并发编程:Thread类的使用
    git的几个小技巧
    UEdit插件使用
    MySQL优化必须调整的10项配置
  • 原文地址:https://www.cnblogs.com/wangjuneng/p/4546914.html
Copyright © 2011-2022 走看看