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 *)#>];

导航条上面的属性默认会被系统渲染为蓝色,只需修改如下内容:

results matching ""

    No results matching ""