用多個StoryBoard構建工程
阿新 • • 發佈:2019-01-24
一 重新建立Home、Search和About三個StoryBoard
二 建立TabBarViewController類繼承於UITabBarController
- (void)viewDidLoad
{
[super viewDidLoad];
//第一個 首頁
UINavigationController *homeNav = [[UIStoryboard storyboardWithName:@"Home" bundle:[NSBundle mainBundle]] instantiateInitialViewController];
UITabBarItem *homeItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemFeatured tag:0 ];
homeNav.tabBarItem = homeItem;
homeNav.title = @"首頁";
//第二個 主頁
UINavigationController *searchNav = [[UIStoryboard storyboardWithName:@"Search" bundle:[NSBundle mainBundle]] instantiateInitialViewController];
UITabBarItem *searchItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemSearch tag:0 ];
searchNav.tabBarItem = searchItem;
searchNav.title = @"搜尋";
//第三個 關於
UINavigationController *aboutNav = [[UIStoryboard storyboardWithName:@"About" bundle:[NSBundle mainBundle]] instantiateInitialViewController];
UITabBarItem *aboutItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemContacts tag:0 ];
aboutNav.tabBarItem = aboutItem;
aboutNav.title = @"關於";
// 將檢視控制器新增至陣列中
NSArray *viewControllers = @[homeNav,searchNav,aboutNav];
self.viewControllers = viewControllers;
}
三 為每個Storyboard新增Storyboard Entry Point
執行工程時發現報錯那是因為沒有為每個Storyboard新增Storyboard Entry Point,按照下面的步驟操作即可。
四 從一個StoryBoard的某一個檢視push到另一個StoryBoard的某一個檢視
- (IBAction)storyboardToAbout:(id)sender
{
UIStoryboard *story = [UIStoryboard storyboardWithName:@"About" bundle:nil];
AboutViewController *vc = [story instantiateViewControllerWithIdentifier:@"VC"];
[self.navigationController pushViewController:vc animated:YES];
}
最終的效果圖