在一個tabbarController中,該如何整合 來自多個storyboard的controller頁面呢?
為什麼會有多個storyboard呢? 多人開發的 工程中,根據不同的功能業務模塊,可以使用 多個 storyboard, 每個storyboard完成自己模塊的controller或其他視圖的編寫: 最後寫完之後,只需要先找到對應的storyboard,再 在該storyboard中找到你所需的controllers即可:
那麼如何整合3個/或多個storyboard的controllers頁面到一個tabbar上面呢?
直接上代碼,慢慢解釋 :
1.首先創建一個類,繼承自
UITabBarController
// // TabBarController.h // Aiyu // // Created by http://blog.csdn.net/yangbingbinga on 14/10/24. // Copyright (c) 2014年 http://blog.csdn.net/yangbingbinga. All rights reserved. // #import2.實現文件:@interface TabBarController : UITabBarController @end
//
// TabBarController.m
// Aiyu
//
// Created by http://blog.csdn.net/yangbingbinga on 14/10/24.
// Copyright (c) 2014年 http://blog.csdn.net/yangbingbinga. All rights reserved.
//
#import TabBarController.h
@interface TabBarController ()
@end
@implementation TabBarController
- (void)viewDidLoad {
[super viewDidLoad];
NSMutableArray *vcs=[NSMutableArray arrayWithCapacity:3];//創建一個數組來保存controller對象
UIStoryboard *main=[UIStoryboard storyboardWithName:@Main bundle:[NSBundle mainBundle]];/首先找到對應的storyboard
UIStoryboard *main1=[UIStoryboard storyboardWithName:@Main1 bundle:[NSBundle mainBundle]];
UIStoryboard *main2=[UIStoryboard storyboardWithName:@Main2 bundle:[NSBundle mainBundle]];
UIViewController *vc1=[main instantiateViewControllerWithIdentifier:@xiaoenai];//根據storyboard和controller的storeId找到控制器
UIViewController *vc2=[main1 instantiateViewControllerWithIdentifier:@xinqing];
UIViewController *vc3=[main2 instantiateViewControllerWithIdentifier:@miyu];
[vcs addObject:vc1];
[vcs addObject:vc2];
[vcs addObject:vc3];
[self setViewControllers:vcs animated:NO];//用當前的viewController數組替換原本的tabbarControlle的 viewControllers數組
}
@end
當然,使用 這些語句之前,需要給ViewController設置標識符:
見下圖:
