標籤:
小碼哥大神的代碼,確實精簡!
1、最終結果如下面三個圖,點擊one,two,three,分別出現3個不同的控制器
直接代碼:(三個控制器的建立就上了)
#import "ViewController.h"#import "ZWOneViewController.h"#import "ZWTwoViewController.h"#import "ZWThreeViewController.h"@interface ViewController ()/** 正在顯示的控制器 */@property (weak, nonatomic)UIViewController *showingVC;/** 控制器數組 */@property (strong, nonatomic)NSArray *allVCs; //代替控制器的三個屬性@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; self.allVCs = @[ [[ZWOneViewController alloc] init], [[ZWTwoViewController alloc] init], [[ZWThreeViewController alloc] init] ];}- (IBAction)buttonClick:(UIButton *)button { //移除當前顯示的控制器 [self.showingVC.view removeFromSuperview]; //獲得控制器的位置索引 NSUInteger index = [button.superview.subviews indexOfObject:button]; //添加控制器View self.showingVC = self.allVCs[index]; //設定尺寸 self.showingVC.view.frame = CGRectMake(0, 64, self.view.frame.size.width, self.view.frame.size.height - 64); //添加到控制器上 [self.view addSubview:self.showingVC.view];}
註:1、擴充性非常好,直接數組中添加需要添加的控制器
2、由於是索引,一定要注意三個控制器的順序,否則會出現點擊後出現其它控制器。如:
iOS開發小功能之九:五句代碼搞定簡單的父子控制器