self.firstVC = [[HMTFirstViewController alloc] init];
088.
[self.firstVC.view setFrame:CGRectMake(
0
,
104
,
320
,
464
)];
089.
[self addChildViewController:_firstVC];
090.
091.
self.secondVC = [[HMTSecondViewController alloc] init];
092.
[self.secondVC.view setFrame:CGRectMake(
0
,
104
,
320
,
464
)];
093.
094.
self.thirdVC = [[HMTThirdViewController alloc] init];
095.
[self.thirdVC.view setFrame:CGRectMake(
0
,
104
,
320
,
464
)];
096.
097.
// 默认,第一个视图(你会发现,全程就这一个用了addSubview)
098.
[self.view addSubview:self.firstVC.view];
099.
self.currentVC = self.firstVC;
- (
void
)didClickHeaonAction:(UIButton *)button
104.
{
105.
// 点击处于当前页面的按钮,直接跳出
106.
if
((self.currentVC == self.firstVC && button.tag ==
100
)||(self.currentVC == self.secondVC && button.tag ==
101
.)) {
107.
return
;
108.
}
else
{
109.
110.
// 展示2个,其余一样,自行补全噢
111.
switch
(button.tag) {
112.
case
100
:
113.
[self replaceController:self.currentVC newController:self.firstVC];
114.
break
;
115.
case
101
:
116.
[self replaceController:self.currentVC newController:self.secondVC];
117.
break
;
118.
case
102
:
119.
//.......
120.
break
;
121.
case
103
:
122.
//.......
123.
break
;
124.
case
104
:
125.
//.......
126.
break
;
127.
case
105
:
128.
//.......
129.
break
;
130.
case
106
:
131.
//.......
132.
break
;
133.
//.......
134.
default
:
135.
break
;
136.
}
137.
}
138.
139.
}
140.
141.
// 切换各个标签内容
142.
- (
void
)replaceController:(UIViewController *)oldController newController:(UIViewController *)newController
143.
{
144.
154.
155.
[self addChildViewController:newController];
156.
[self transitionFromViewController:oldController toViewController:newController duration:
2.0
options:UIViewAnimationOptionTransitionCrossDissolve animations:nil completion:^(BOOL finished) {
157.
158.
if
(finished) {
159.
160.
[newController didMoveToParentViewController:self];
161.
[oldController willMoveToParentViewController:nil];
162.
[oldController removeFromParentViewController];
163.
self.currentVC = newController;
164.
165.
}
else
{
166.
167.
self.currentVC = oldController;
168.
169.
}
170.
}];