UITabbarController的介绍与使用
UITabBarController
是 iOS 中用于管理和显示选项卡界面的一个视图控制器。它允许用户在多个视图控制器之间进行切换,每个视图控制器对应一个选项卡。
主要功能
-
管理多个视图控制器:
UITabBarController
管理一个视图控制器数组,每个视图控制器对应一个选项卡。 -
显示选项卡栏:
在屏幕底部显示一个选项卡栏,允许用户在视图控制器之间进行切换。 -
处理选项卡切换:
响应用户的选项卡切换操作,并相应地显示相应的视图控制器。
使用示例
创建和配置 UITabBarController
UITabBarController *tabBarController = [[UITabBarController alloc] init];
UIViewController *controller1 = [[UIViewController alloc] init];
controller1.view.backgroundColor = [UIColor redColor];
controller1.tabBarItem.title = @"新闻";
UIViewController *controller2 = [[UIViewController alloc] init];
controller2.view.backgroundColor = [UIColor yellowColor];
controller2.tabBarItem.title = @"视频";
UIViewController *controller3 = [[UIViewController alloc] init];
controller3.view.backgroundColor = [UIColor greenColor];
controller3.tabBarItem.title = @"推荐";
UIViewController *controller4 = [[UIViewController alloc] init];
controller4.view.backgroundColor = [UIColor lightGrayColor];
controller4.tabBarItem.title = @"我的";
[tabBarController setViewControllers:@[controller1, controller2, controller3, controller4]];
self.window.rootViewController = tabBarController;
通过设置 UITabBar
的属性来自定义选项卡栏的外观,例如:
- 背景颜色:
tabBarController.tabBarController.tabBar.barTintColor = [UIColor whiteColor];
- 选中项颜色:
tabBarController.tabBarController.tabBar.tintColor = [UIColor systemBlueColor];
- 未选中项颜色:
tabBarController.tabBarController.tabBar.unselectedItemTintColor = [UIColor grayColor];
-
Tab Bar Item 图标:
在每个视图控制器中设置
tabBarItem
属性。
controller1.tabBarItem.image = [UIImage systemImageNamed:@"house.fill"];
处理选项卡切换事件
通过实现 UITabBarControllerDelegate
协议来处理选项卡切换事件
tabBarController.delegate = self;
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController{
NSLog(@"did select");
}
总结
UITabBarController
适用于需要在多个视图控制器之间切换的应用程序。可以创建更加用户友好和功能丰富的应用程序界面。