清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
Skip to content
This repository
Explore
Gist
Blog
Help
@baishiyun baishiyun
1
3
0
baishiyun/ViewControllerAnimation
ViewControllerAnimation/ViewControllerAnimation/ViewController.m
@baishiyun baishiyun 28 minutes ago 自定义Push转场动画
1 contributor
72 lines (60 sloc) 2.616 kb
//
// 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
Status API Training Shop Blog About
© 2015 GitHub, Inc. Terms Privacy Security Contact