UI_UITabBarController

建立控制器

    // 普通控制器
    GroupViewController *groupVC = [[GroupViewController alloc] init];
    SecondViewController *secondVC = [[SecondViewController alloc] init];
    ThirdViewController *thirdVC = [[ThirdViewController alloc] init];
    FourthViewController *fourthVC = [[FourthViewController alloc] init];
    // 导航栏控制器
    UINavigationController *groupNC = [[UINavigationController alloc] initWithRootViewController:groupVC];
    UINavigationController *secondNC = [[UINavigationController alloc] initWithRootViewController:secondVC];
    UINavigationController *thirdNC = [[UINavigationController alloc] initWithRootViewController:thirdVC];
    UINavigationController *fourthNC = [[UINavigationController alloc] initWithRootViewController:fourthVC];```
@interface AppDelegate () <UITabBarControllerDelegate>
    // tabBarVC 控制器
    UITabBarController *tabBarVC = [[UITabBarController alloc] init];

    // 设置 tabBarVC 代理(先遵守协议)
    tabBarVC.delegate = self;

    // 设置 tabBar 默认选中的控制器
    tabBarVC.selectedIndex = 1;

    // 设置 tabBarVC 管理(包含)的控制器
    tabBarVC.viewControllers = @[groupNC, secondNC, thirdNC, fourthNC, uiVC1, uiVC2, uiVC3];
    // 自定义样式 tabBarItem(选中颜色)注意是那种控制器
    groupNC.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"活动" image:[UIImage imageNamed:@"activity"] selectedImage:[UIImage imageNamed:@"微信"]];
    // 显示右上角 小圈圈
    groupNC.tabBarItem.badgeValue = @"10";

    secondNC.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"影院" image:[UIImage imageNamed:@"cinema"] selectedImage:[UIImage imageNamed:@"通讯录"]];
    thirdNC.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"电影" image:[UIImage imageNamed:@"movie"] selectedImage:[UIImage imageNamed:@"发现"]];
    fourthNC.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"我" image:[UIImage imageNamed:@"user"] selectedImage:[UIImage imageNamed:@"我"]];
    // 设置整个 tabBar
    // 颜色(和样式冲突)
    tabBarVC.tabBar.barTintColor = [UIColor yellowColor];
    // 样式(和颜色冲突)
// tabBarVC.tabBar.barStyle = UIBarStyleBlack;
    // 字体颜色
    [tabBarVC.tabBar setTintColor:[UIColor greenColor]];
#pragma mark - 选择 tabBar 所控制的控制器,会执行的方法(每次都会执行)
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
    NSInteger index =  [tabBarController.viewControllers indexOfObject:viewController];
    if (index == 3) {
        NSLog(@"four");
    }

    if (tabBarController.selectedIndex == 2) {
        NSLog(@"three");
    }

}

#pragma mark - 控制 tabBar 是否可以点击
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
{
    return YES;
}
    // 获取到所有的 UINavigationBar(工程里面所有)
    [[UINavigationBar appearance] setBarTintColor:[UIColor purpleColor]];

你可能感兴趣的:(UI,控制器,tabbar)