UITabBarController
来源:互联网 发布:蓝牙小车单片机程序 编辑:程序博客网 时间:2024/06/05 18:42
UITabBarController 能够控制一组UIViewController (或者UINavigationController)
UITabBarController 的创建和添加UIViewController步骤:
- (void)viewDidLoad { [super viewDidLoad]; // 创建视图控制器 OneViewController *oneVC = [[OneViewController alloc] init]; TwoViewController *twoVC = [[TwoViewController alloc] init]; ThreeViewController *threeVC = [[ThreeViewController alloc] init]; FourViewController *fourVC = [[FourViewController alloc] init]; FiveViewController *fiveVC = [[FiveViewController alloc] init]; SixViewController *sixVC = [[SixViewController alloc] init]; // 创建导航控制器 UINavigationController *oneNav = [[UINavigationController alloc] initWithRootViewController:oneVC]; UINavigationController *twoNav = [[UINavigationController alloc] initWithRootViewController:twoVC]; UINavigationController *threeNav = [[UINavigationController alloc] initWithRootViewController:threeVC]; UINavigationController *fourNav = [[UINavigationController alloc] initWithRootViewController:fourVC]; UINavigationController *fiveNav = [[UINavigationController alloc] initWithRootViewController:fiveVC]; UINavigationController *sixNav = [[UINavigationController alloc] initWithRootViewController:sixVC]; // 显示按钮的标题(tabBarItem) oneVC.tabBarItem.title = @"首页"; twoVC.tabBarItem.title = @"第二页"; threeVC.tabBarItem.title = @"第三页"; fourVC.tabBarItem.title = @"第四页"; fiveVC.tabBarItem.title = @"第五页"; sixVC.tabBarItem.title = @"第六页"; // 设置图片 // 显示图片原有颜色 // 按原始的图片进行绘制(绘制出来的是原来的颜色) oneVC.tabBarItem.image = [[UIImage imageNamed:@"11"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; twoVC.tabBarItem.image = [UIImage imageNamed:@"24-gift"]; threeVC.tabBarItem.image = [UIImage imageNamed:@"21-skull"]; fourVC.tabBarItem.image = [UIImage imageNamed:@"61-brightness"]; fiveVC.tabBarItem.image = [UIImage imageNamed:@"99-umbrella"]; sixVC.tabBarItem.image = [UIImage imageNamed:@"64-zap"]; // 设置选中的图片 oneVC.tabBarItem.selectedImage = [UIImage imageNamed:@"88-beermug"]; twoVC.tabBarItem.selectedImage = [UIImage imageNamed:@"93-thermometer"]; threeVC.tabBarItem.selectedImage = [UIImage imageNamed:@"67-tshirt"]; fourVC.tabBarItem.selectedImage = [UIImage imageNamed:@"101-gameplan"]; fiveVC.tabBarItem.selectedImage = [UIImage imageNamed:@"108-badge"]; sixVC.tabBarItem.selectedImage = [UIImage imageNamed:@"109-chicken"]; // 显示到tabBarControl里面 // 需要添加到 viewControllers的数组中 self.viewControllers = @[oneNav, twoNav, threeNav, fourNav, fiveNav, sixNav]; // 设置bar的颜色 self.tabBar.barTintColor = [UIColor blueColor]; // 模块图片的填充色 self.tabBar.tintColor = [UIColor orangeColor]; // 设置bar背景图片 // tabBar的高度 49 self.tabBar.backgroundImage = [UIImage imageNamed:@"tabBar"]; // 设置默认选中 self.selectedIndex = 2; // tabBarItem上的 红色提示按钮 twoVC.tabBarItem.badgeValue = @"99+"; // 设置代理 self.delegate = self; // 释放 [oneVC release]; [twoVC release]; [threeVC release]; [fourVC release]; [fiveVC release]; [sixVC release]; [oneNav release]; [twoNav release]; [threeNav release]; [fourNav release]; [fiveNav release]; [sixNav release];}
协议方法
#pragma mark -- 代理方法- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController{ // 可以指定哪个控制器不让点击 // 先取出 不让点击的控制器 UINavigationController *nav = self.viewControllers[3]; // 如果选中的控制器是你不想让用户点击的 那么返回NO if (viewController == nav) { return NO; }else{ return YES; }}// 选中页面时触发的方法- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController{ // 打印选中的索引 NSLog(@"%ld",self.selectedIndex); // 选中时 把红点去除 viewController.tabBarItem.badgeValue = nil;}// 控制more的代理方法- (void)tabBarController:(UITabBarController *)tabBarController willBeginCustomizingViewControllers:(NSArray<__kindof UIViewController *> *)viewControllers{ NSLog(@"将要开始编辑more");}- (void)tabBarController:(UITabBarController *)tabBarController willEndCustomizingViewControllers:(NSArray<__kindof UIViewController *> *)viewControllers changed:(BOOL)changed{ NSLog(@"将要结束编辑more");}- (void)tabBarController:(UITabBarController *)tabBarController didEndCustomizingViewControllers:(NSArray<__kindof UIViewController *> *)viewControllers changed:(BOOL)changed{ NSLog(@"已经结束编辑more");}
0 0
- UITabbarController
- UITabBarController
- UITabBarController
- UITabBarController
- UITabBarController
- UITabBarController
- UITabbarController
- UITabBarController
- UITabBarController
- UITabBarController
- UITabbarController
- UITabBarController
- UITabBarController
- UITabBarController
- UITabBarController
- UITabBarController
- UITabBarController
- UITabBarController
- java 集合 有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数
- 南大软院大神养成计划第十三天
- ViewPager 指示器
- BNU 1111(dfs+剪枝)
- 十七道海量数据处理面试题与Bit-map详解
- UITabBarController
- <iOS> 谈谈iOS Animation -- calculationMode属性
- unity3d 代码设置贴图Read/Write Enable属性
- 汇编实现两位数相加
- 什么叫长大?
- Codeforces 285E - Positions in Permutations 【题解待补全】
- 【Leetcode】N-Queens
- 前端5
- 在flex&bison的基础上利用符号表进行语义分析