iOS開發小功能之九:五句代碼搞定簡單的父子控制器

來源:互聯網
上載者:User

標籤:

小碼哥大神的代碼,確實精簡!

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開發小功能之九:五句代碼搞定簡單的父子控制器

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.