UITabBarController知识整理
来源:互联网 发布:液晶显示器测试软件 编辑:程序博客网 时间:2024/05/22 15:21
特性
* UITabBarController上的视图是平行关系,他们之间不能做页面跳转 * UITabBarController上的页面都是同时加载出来的 * 页面数大于五 自动生成more
实例化
UITabBarController *tabBarController = [[UITabBarController alloc]init]; self.window.rootViewController = tabBarController;
标题
只有视图控制器设置标题时 .title与 .tabBarItem.title无区别插入导航控制器时:1. view.title 同时给tabBar与navigationBar设置标题2. view.navigationItem.title 只给导航栏设置标题3. view.tabBarItem.title 无效4. nav.title 只给tabBar设标题5. nav.tabBarItem.title 只给tabBar设标题6. nav.navigationItem.title 无效
元素图片设置
//设置图片 view.tabBarItem.image = <#(UIImage *)#>; nav.tabBarItem.image = <#(UIImage *)#>;//设置图片 标题 UITabBarItem *tab = [[UITabBarItem alloc]initWithTitle:<#(NSString *)#> image:<#(UIImage *)#> tag:<#(NSInteger)#>]; nav.tabBarItem = tab;//系统自带图片 标题 UITabBarItem *tab = [[UITabBarItem alloc]initWithTabBarSystemItem:<#(UITabBarSystemItem)#> tag:<#(NSInteger)#>]; view.tabBarItem = tab;//设置选中前及选中后图片 //iOS7之前的写法 [nav.tabBarItem setFinishedSelectedImage:<#(UIImage *)#> withFinishedUnselectedImage:<#(UIImage *)#>]; //iOS7之后 UITabBarItem *tab = [[UITabBarItem alloc]initWithTitle:<#(NSString *)#> image:<#(UIImage *)#> selectedImage:<#(UIImage *)#>]; view.tabBarItem = tab;
设置徽标
nav.tabBarItem.badgeValue = <#(NSString *)#>;
图文渲染 (让图片保持原样显示)
//选中前 view.tabBarItem.image = [<#(UIImage *)#> imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];//选中后 view.tabBarItem.selectedImage = [<#(UIImage *)#> imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
文字渲染
//选中前 NSDictionary *dic1 = @{NSForegroundColorAttributeName:<#(UIColor *)#>,NSFontAttributeName : [UIFont systemFontOfSize:11.0]}; [view.tabBarItem setTitleTextAttributes:dic1 forState:UIControlStateNormal];//选中后 NSDictionary *dic2 = @{NSForegroundColorAttributeName:<#(UIColor *)#>,NSFontAttributeName : [UIFont systemFontOfSize:11.0]}; [view.tabBarItem setTitleTextAttributes:dic2 forState:UIControlStateSelected];//UITabBarControllers 子类中 [[UITabBarItem appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName:ColorW,NSFontAttributeName:Font(9.0f)} forState:UIControlStateNormal];
添加元素
NSArray *viewControllers = @[view1,view2,nav3,nav4,view5,view6,nav7]; tabBarController.viewControllers = viewControllers;//设置默认选中 tabBarController.selectedIndex = 2; tabBarController.selectedViewController = viewControllers[2];//类型 tabBarController.tabBar.barStyle = UIBarStyleDefault;//颜色 tabBarController.tabBar.barTintColor = <#(UIColor *)#>;//设置背景图片 tabBarController.tabBar.backgroundImage = <#(UIImage *)#>; tabBarController.delegate = self;
代理方法
//点击Edit- (void)tabBarController:(UITabBarController *)tabBarController willBeginCustomizingViewControllers:(NSArray *)viewControllers {}//点击Done即将完成时- (void)tabBarController:(UITabBarController *)tabBarController willEndCustomizingViewControllers:(NSArray *)viewControllers changed:(BOOL)changed {}//点击视图控制器- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {}//点击Done- (void)tabBarController:(UITabBarController *)tabBarController didEndCustomizingViewControllers:(NSArray *)viewControllers changed:(BOOL)changed {}
0 0
- UITabBarController知识整理
- UITabBarController整理
- UITabBarController知识设置item图片
- UITabBarController的使用(整理)
- iOS APP开发整理--UITabBarController,UINavigationController
- 知识整理
- 知识整理
- 知识整理
- UITabbarController
- UITabBarController
- UITabBarController
- UITabBarController
- UITabBarController
- UITabBarController
- UITabbarController
- UITabBarController
- UITabBarController
- UITabBarController
- 环境配置之Android Studio开发NDK
- 【Dongle】【数据结构】【算法】求树的结点和叶节点个数
- 前端性能优化:webpack分离 + LocalStorage缓存
- Ionic实现左侧侧边栏新建项目
- 白话浅说TCP/UDP面向连接,面向无连接的区别
- UITabBarController知识整理
- 数组中的逆序对
- 启动其他程序Intent携带的数据
- 实验2 Activity和Intent-任务1
- 我的隔天Codeforces——Round #371 (Div. 2)
- hive之窗口函数理解与实践
- HTML5 canvas标签-4 灰度直方图的实现
- Redis探索之旅(10)- Redis数据结构之有序集合
- NOIP2014提高组D.发射器选址(解题报告)