-
Notifications
You must be signed in to change notification settings - Fork 0
/
LYQuestionsOneAnimationTrasition.m
69 lines (51 loc) · 1.97 KB
/
LYQuestionsOneAnimationTrasition.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
//
//
// Created by 马铃薯 on 2022/1/10.
//
#import "LYQuestionsOneAnimationTrasition.h"
#import "LYQuestionsOnePopAnimator.h"
#import "LYQuestionsOnePushAnimator.h"
@interface LYQuestionsOneAnimationTrasition ()
@property (nonatomic, strong) LYQuestionsOnePushAnimator *customPush;
@property (nonatomic, strong) LYQuestionsOnePopAnimator *customPop;
@end
@implementation LYQuestionsOneAnimationTrasition
/** 转场过渡的图片 */
- (void)setTransitionImgView:(UIImageView *)transitionImgView{
self.customPush.transitionImgView = transitionImgView;
self.customPop.transitionImgView = transitionImgView;
}
/** 转场前的图片frame */
- (void)setTransitionBeforeImgFrame:(CGRect)frame{
self.customPop.transitionBeforeImgFrame = frame;
self.customPush.transitionBeforeImgFrame = frame;
}
/** 转场后的图片frame */
- (void)setTransitionAfterImgFrame:(CGRect)frame{
self.customPush.transitionAfterImgFrame = frame;
self.customPop.transitionAfterImgFrame = frame;
}
- (nullable id <UIViewControllerAnimatedTransitioning>)navigationController:(UINavigationController *)navigationController
animationControllerForOperation:(UINavigationControllerOperation)operation
fromViewController:(UIViewController *)fromVC
toViewController:(UIViewController *)toVC{
if (operation == UINavigationControllerOperationPush) {
return self.customPush;
}else if (operation == UINavigationControllerOperationPop){
return self.customPop;
}
return nil;
}
- (LYQuestionsOnePushAnimator *)customPush{
if (_customPush == nil) {
_customPush = [[LYQuestionsOnePushAnimator alloc]init];
}
return _customPush;
}
- (LYQuestionsOnePopAnimator *)customPop{
if (!_customPop) {
_customPop = [[LYQuestionsOnePopAnimator alloc] init];
}
return _customPop;
}
@end