UITabBarController
UITabBarController是一个比较特殊的控制器,它的子控制器都有一个与之对应的导航条,点击导航条可以跳到指定的控制器.它能够清晰的展现整个APP的架构.
纯代码创建UITabBarController
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//创建窗口
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
//创建UITabBarController
UITabBarController *tabVc = [[UITabBarController alloc] init];
//设置为window的跟控制器
self.window.rootViewController = tabVc;
//设置window的背景色
self.window.backgroundColor = [UIColor grayColor];
//显示窗口
[self.window makeKeyAndVisible];
return YES;
}
效果图:
给UITabBarController添加子控制器方法:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//创建窗口
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
//创建控制器
UIViewController *vc = [[UIViewController alloc] init];
//设置控制器颜色
vc.view.backgroundColor = [UIColor orangeColor];
//创建UITabBarController
UITabBarController *tabVc = [[UITabBarController alloc] init];
//设置为UITabBarController控制器的子控制器
[tabVc addChildViewController:vc];
//设置为window的跟控制器
self.window.rootViewController = tabVc;
//设置window的背景色
self.window.backgroundColor = [UIColor grayColor];
//显示窗口
[self.window makeKeyAndVisible];
return YES;
}
//给UITabBarController添加子控制器的方法
[UITabBarController addChildViewController:UIViewController];
注意:如果需要添加多个子控制器,需创建多个控制器,依次调用此方法添加.
设置底部导航条的属性(UITabBarButton):该属性只能在UITabBarController对应的子控制器中进行设置.
//给UITabBarController的子控制器vc设置UITabBarButton属性
vc.tabBarItem = [UITabBarItem alloc] initWithTitle:<#(nullable NSString *)#> image:<#(nullable UIImage *)#> selectedImage:<#(nullable UIImage *)#>];
导航条上面的属性默认会被系统渲染为蓝色,只需修改如下内容: