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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
//
// CardDetailsViewController.m
// Lighting
//
// Created by 曹云霄 on 2016/10/19.
// Copyright © 2016年 上海勾芒科技有限公司. All rights reserved.
//
#import "CardDetailsViewController.h"
#import "CardDontUseViewController.h"
#import "CardBeenUseViewController.h"
@interface CardDetailsViewController ()
/**
* 当前的控制器
*/
@property (nonatomic,strong) UIViewController *currentVC;
@end
@implementation CardDetailsViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self addChildViewController];
}
#pragma mark - 添加卡劵详情vc
- (void)addChildViewController
{
// 未领取
CardDontUseViewController *dontUseVc = [[self getStoryboardWithName] instantiateViewControllerWithIdentifier:@"CardDontUseViewController"];
[self addChildViewController:dontUseVc];
// 审批中
CardBeenUseViewController *examineUseVc = [[self getStoryboardWithName] instantiateViewControllerWithIdentifier:@"CardBeenUseViewController"];
examineUseVc.cardState = CHECK;
[self addChildViewController:examineUseVc];
// 已领取
CardBeenUseViewController *beenUseVc = [[self getStoryboardWithName] instantiateViewControllerWithIdentifier:@"CardBeenUseViewController"];
beenUseVc.cardState = ACTIVED;
[self addChildViewController:beenUseVc];
// 已使用
CardBeenUseViewController *usedVc = [[self getStoryboardWithName] instantiateViewControllerWithIdentifier:@"CardBeenUseViewController"];
usedVc.cardState = USED;
[self addChildViewController:usedVc];
dontUseVc.view.frame = CGRectMake(0, 0, self.cardBackgroundView.mj_w, self.cardBackgroundView.mj_h);
beenUseVc.view.frame = CGRectMake(0, 0, self.cardBackgroundView.mj_w, self.cardBackgroundView.mj_h);
examineUseVc.view.frame = CGRectMake(0, 0, self.cardBackgroundView.mj_w, self.cardBackgroundView.mj_h);
usedVc.view.frame = CGRectMake(0, 0, self.cardBackgroundView.mj_w, self.cardBackgroundView.mj_h);
[self.cardBackgroundView addSubview:dontUseVc.view];
self.currentVC = dontUseVc;
}
#pragma mark - 切换已使用卡劵、未使用卡劵
- (void)switchPaymentsVCAndWithdrawalVC:(UIViewController *)newViewController
{
[self transitionFromViewController:self.currentVC toViewController:newViewController duration:0.5 options:UIViewAnimationOptionTransitionNone animations:nil completion:^(BOOL finished) {
if (finished) {
[self.cardBackgroundView addSubview:newViewController.view];
self.currentVC = newViewController;
}
}];
}
#pragma mark - 切换ContentController
- (IBAction)paymentsButtonAndWithdrawalButtonClick:(UIButton *)sender {
switch (sender.tag) {
case 100:
{
self.beenUseButton.selected = NO;
self.isUsedButton.selected = NO;
self.examinationButton.selected = NO;
}
break;
case 101:
{
self.dontUseButton.selected = NO;
self.isUsedButton.selected = NO;
self.beenUseButton.selected = NO;
}
break;
case 102:
{
self.dontUseButton.selected = NO;
self.beenUseButton.selected = NO;
self.examinationButton.selected = NO;
}
break;
case 103:
{
self.dontUseButton.selected = NO;
self.beenUseButton.selected = NO;
self.examinationButton.selected = NO;
}
break;
default:
break;
}
sender.selected = YES;
[self setupInstructionsViewOrigin:sender];
[self switchPaymentsVCAndWithdrawalVC:self.childViewControllers[sender.tag-100]];
}
#pragma mark - 设置指示线的位置
- (void)setupInstructionsViewOrigin:(UIButton *)sender
{
[UIView animateWithDuration:0.5 delay:0.1f usingSpringWithDamping:0.5f initialSpringVelocity:0.5f options:UIViewAnimationOptionCurveEaseInOut animations:^{
self.instructionsLineView.frame = CGRectMake(sender.mj_origin.x+(sender.mj_w-self.instructionsLineView.mj_w)/2, self.instructionsLineView.mj_origin.y, self.instructionsLineView.mj_w, 2);
} completion:nil];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
@end