我的iOS学习历程 - UITabBarViewController
来源:互联网 发布:matlab迭代算法 编辑:程序博客网 时间:2024/05/16 02:17
今天学习的是另外一种控制器:UITabBarViewController
同样是控制一组控制器的,以后一般我们用他来控制UINavigationController,来控制其他的视图控制器.
1.初始化
创建一个UITabBarController的子类
把UITabBarController 作为window的根视图控制器 显示出来
RootTabBarViewController *rootVC = [[RootTabBarViewController alloc] init]; // 设置成window的根视图控制器 self.window.rootViewController = rootVC;
2.设置标题(是分别设置控制的UINavigationController,这里都以一个为例)
oneVC.tabBarItem.title = @"首页";
3.设置图片以及设置图片的表现方式(如原有颜色等)
UIImageRenderingModeAlwaysOriginal (绘制出原始图片,图片颜色等不变默认显示轮廓和背景色)
oneVC.tabBarItem.image = [[UIImage imageNamed:@"82-dogpaw"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
4.设置选中的图片
oneVC.tabBarItem.selectedImage = [[UIImage imageNamed:@"28-star"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
5.设置tabBarItem上的红色提示按钮
oneVC.tabBarItem.badgeValue = @"99+";
6.显示到TabBarController上面(需要添加到 viewController的数组中)
self.viewControllers = @[oneNav, twoNav, threeNav, fourNav, fiveNav, sixNav];
7.设置bar的颜色
self.tabBar.barTintColor = [UIColor blueColor];
8.设置bar填充色
self.tabBar.tintColor = [UIColor redColor];
9.设置bar的背景图片
self.tabBar.backgroundImage = [UIImage imageNamed:@"tabBar"];
10.设置默认选中
self.selectedIndex = 1;
UITabBarViewController的代理方法:
1.可以指定哪个控制器不让点击
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController { // 先取出 不让点击的控制器 UINavigationController *nav = self.viewControllers[1]; // 如果选中的控制器是你不想让用户点击的 // 那么返回NO if (viewController == nav) { return NO; } else { return YES; }}
2.选中页面时触发的方法
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController { // 打印选中的索引 NSLog(@"%ld",self.selectedIndex); // 选中时 把红色提示去除 viewController.tabBarItem.badgeValue = nil;}
3.控制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(@"已经结束编辑");}
0 0
- 我的iOS学习历程 - UITabBarViewController
- 我的iOS学习历程 - UITextField UIButton
- 我的iOS学习历程 - 自定义视图
- 我的iOS学习历程 - MVC模式
- 我的iOS学习历程 - TargetAction
- 我的iOS学习历程 - 手势
- 我的iOS学习历程 - UISegmentedControl
- 我的iOS学习历程 - UICollection详解
- 我的iOS学习历程 - NSCalendar详解
- 我的学习历程
- 我的iOS学习历程 - UITableView(数据model的使用)
- 我的iOS学习历程 - UITableView的编辑
- 我的iOS学习历程 - UITableView的高级使用
- 我的iOS学习历程 - OC第一天
- 我的iOS学习历程 - OC第二天
- 我的iOS学习历程 - OC第三天
- 我的iOS学习历程 - OC第四天
- 我的iOS学习历程 - OC第五天
- CCF认证考试(java)---窗口
- hadoop学习004
- 中国R语言会议(上海会场)精彩视频 《数据科学的博客:从knitr到Jekyll》
- swift手动导入OC的第三方库
- 一个很好用的Gif 图截取工具
- 我的iOS学习历程 - UITabBarViewController
- 再谈ArcGIS Runtime SDK for Android中文标注无法显示的问题
- svn 操作clean up失败问题的解决
- 前台将xml转化成json的方法
- 图片旋转
- MyEclipse 2014如何破解
- 关于TableView的cell重用问题解决办法
- STM32中异常、中断、事件辨析
- Mac导出文档中得图片