I created the UITabbarController as a rooview application controller with the UINavigationController for the UIViewController.
here is another example: I used xibs for View controllers.
AppDelegate.m
I create a method name: setupAppHome
#pragma mark - SETUP HOME -(void) setupAppHome{ NSLog(@"set up the nano home"); self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; if (_chatViewController == nil) { _chatViewController = [[ChatViewController alloc] initWithNibName:@"ChatViewController" bundle:nil]; chatNav = [[UINavigationController alloc] initWithRootViewController:_chatViewController]; chatNav.tabBarItem.title=@ "Chat"; chatNav.tabBarItem.image=[UIImage imageNamed:@"chat_icon.png"]; } if (_callController == nil) { _callController = [[CallViewController alloc] initWithNibName:@"CallViewController" bundle:nil]; callNav = [[UINavigationController alloc] initWithRootViewController:_callController]; callNav.tabBarItem.title=@ "Call"; callNav.tabBarItem.image=[UIImage imageNamed:@"call_icon.png"]; } if (_contanctsController == nil) { _contanctsController = [[ContactsViewController alloc] initWithNibName:@"ContactsViewController" bundle:nil]; conNav = [[UINavigationController alloc] initWithRootViewController:_contanctsController]; conNav.tabBarItem.title=@ "Contact"; conNav.tabBarItem.image=[UIImage imageNamed:@"contact_icon.png"]; } if (_settingController == nil) { _settingController = [[SettingViewController alloc] initWithNibName:@"SettingViewController" bundle:nil]; settingNav = [[UINavigationController alloc] initWithRootViewController:_settingController]; settingNav.tabBarItem.title=@ "Setting"; settingNav.tabBarItem.image=[UIImage imageNamed:@"setting_icon.png"]; } self.tabController = [[UITabBarController alloc] init]; NSMutableArray *controllers = [[NSMutableArray alloc] initWithCapacity:4]; [controllers addObject:chatNav]; [controllers addObject:callNav]; [controllers addObject:conNav]; [controllers addObject:settingNav]; self.tabController.viewControllers = controllers;
It is sent to an Xcode 9 text file with iOS 11.
source share