forked from onmyway133/archives
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ETPCoverPageViewController.m
executable file
·87 lines (64 loc) · 2.85 KB
/
ETPCoverPageViewController.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
//
// ETPCoverPageViewController.m
// TransitionBook
//
// Created by Khoa Pham on 3/3/14.
// Copyright (c) 2014 Khoa Pham. All rights reserved.
//
#import "ETPCoverPageViewController.h"
#import "ETPNormalPageViewController.h"
#import "ETPPageNumberManager.h"
#import "ETPFlipAnimationController.h"
#import "ETPFlipInteractionController.h"
@interface ETPCoverPageViewController () <UINavigationControllerDelegate>
@property (strong, nonatomic) ETPFlipAnimationController *flipAnimationController;
@property (strong, nonatomic) ETPFlipInteractionController *flipInteractionController;
@end
@implementation ETPCoverPageViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
self.title = @"Cover";
// This is the only one delegate of the UINavigationController
self.navigationController.delegate = self;
self.flipAnimationController = [[ETPFlipAnimationController alloc] init];
self.flipInteractionController = [[ETPFlipInteractionController alloc] init];
[self.flipInteractionController addGestureRecognizerToViewController:self];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#pragma mark - Action
- (IBAction)beginButtonAction:(id)sender
{
[[ETPPageNumberManager sharedInstance] increase];
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];
ETPNormalPageViewController *normalPageVC = [mainStoryboard instantiateViewControllerWithIdentifier:@"NormalPageViewController"];
[self.navigationController pushViewController:normalPageVC animated:YES];
}
#pragma mark - UINavigationControllerDelegate
- (id<UIViewControllerAnimatedTransitioning>)navigationController:(UINavigationController *)navigationController
animationControllerForOperation:(UINavigationControllerOperation)operation
fromViewController:(UIViewController *)fromVC
toViewController:(UIViewController *)toVC
{
[self.flipInteractionController addGestureRecognizerToViewController:toVC];
self.flipAnimationController.isPushOperation = (operation == UINavigationControllerOperationPush);
return self.flipAnimationController;
}
- (id<UIViewControllerInteractiveTransitioning>)navigationController:(UINavigationController *)navigationController
interactionControllerForAnimationController:(id<UIViewControllerAnimatedTransitioning>)animationController
{
// Return nil if we 're not in interaction
return self.flipInteractionController.isInteractive ? self.flipInteractionController : nil;
}
@end