iOS开发之UI(九)

UITabBarController

标签视图控制器

iOS开发之UI(九)_第1张图片
�标签视图控制器

UITabBar

标签,包含多个UITabBarItem,每一个UITabBarItem对应一个UIViewController,UITabBar的高度是49。系统最多只显示5个UITabBarItem,当UITabBarItem超过5个时系统会自动添加一个更多按钮。

UIAppearance

如果想通过一件设定所有导航视图控制器的颜色,类似于QQ的一键换肤操作,可以通过UIAppearance协议来进行操作。

FirstViewController *fisrtVC = [[FirstViewController alloc] init];
UINavigationController *firstNaVC = [[UINavigationController alloc] initWithRootViewController:fisrtVC];
firstNaVC.tabBarItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemBookmarks tag:101];
firstNaVC.tabBarItem.badgeValue = @"10";

SecondViewController *secondVC = [[SecondViewController alloc] init];
UINavigationController *secondNaVC = [[UINavigationController alloc] initWithRootViewController:secondVC];
secondNaVC.tabBarItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemContacts tag:102];
secondNaVC.tabBarItem.badgeValue = @"未读";

ThirdViewController *thirdVC = [[ThirdViewController alloc] init];
UINavigationController *thirdNaVC = [[UINavigationController alloc] initWithRootViewController:thirdVC];
thirdNaVC.tabBarItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemFavorites tag:103];
thirdNaVC.tabBarItem.badgeValue = @"警告";

// 1.创建UITabBarController
UITabBarController *tabBarVC = [[UITabBarController alloc] init];
// 2.将tabBarVC管理的视图控制器放到一个数组中
NSArray *VCs = [NSArray arrayWithObjects:firstNaVC, secondNaVC, thirdNaVC, nil];
// 3.设置tabBarVC的子视图控制器
tabBarVC.viewControllers = VCs;
self.window.rootViewController = tabBarVC;

// 设置tabBarVC的属性
tabBarVC.tabBar.tintColor = [UIColor redColor];// 设置选中颜色
tabBarVC.tabBar.backgroundColor = [UIColor lightGrayColor];// 设置背景颜色
tabBarVC.tabBar.translucent = YES;// 是否半透明,默认为YES

// 设置全局外观,设置全局外观最好在appDelegate里,否则会无效
[[UITabBar appearance] setBarTintColor:[UIColor cyanColor]];// 设置UITabBar背景颜色
[[UITabBar appearance] setTintColor:[UIColor brownColor]];// 设置UITabBar样式
[[UINavigationBar appearance] setBarTintColor:[UIColor lightGrayColor]];// 设置UINavigationBar外观颜色
[[UINavigationBar appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor redColor], NSForegroundColorAttributeName, [UIFont systemFontOfSize:17], NSFontAttributeName, nil]];// 设置UINavigationBar字体属性
  • UITabBarController、UINavigationController、UITableViewController通常都是组合出现,这种布局方式特别常见。
  • UITabBarController可以嵌套UINavigationController。
  • UITabBarController也可以模态UINavigationController。

你可能感兴趣的:(iOS开发之UI(九))