iOS开发之初:自定义tabBar与tabBarController
2016-07-29 17:08
399 查看
不再多述,自定义出来的好处就是一次配置,终生受用..而且方便修理..不然代码都挤在一个控制器里自己想翻也翻得麻烦..
创建一个函数方法,用来添加子控制器到工具栏中,并对每个控制器的标题,图片进行配置..添加几个工具栏就有几个可选择的控制器
//这里添加的子控制器要装在自定义的NavigationController里:
tabBarItem里的文字颜色大小一般也是有需要要改的.用这个方法
在自定义的tabBarController的[viewDidLoad]里一般放这么三个方法
在tabBarController里面更换tabBar这个View的代码如下:
//如果tabBar没有特殊的按钮(类似发布/直播录制)和什么鬼东西,在满足需求的情况下一般也不需要自定义tabBar的.
创建一个函数方法,用来添加子控制器到工具栏中,并对每个控制器的标题,图片进行配置..添加几个工具栏就有几个可选择的控制器
//这里添加的子控制器要装在自定义的NavigationController里:
[self setupOneChildViewController:[[XMGNavigationController alloc] initWithRootViewController:[[XMGEssenceViewController alloc] init]] title:@"精华" image:@"tabBar_essence_icon" selectedImage:@"tabBar_essence_click_icon"];
- (void)setupOneChildViewController:(UIViewController *)vc title:(NSString *)title image:(NSString *)image selectedImage:(NSString *)selectedImage { vc.tabBarItem.title = title; if (image.length) { // 图片名有具体值 vc.tabBarItem.image = [UIImage imageNamed:image]; vc.tabBarItem.selectedImage = [UIImage imageNamed:selectedImage]; } [self addChildViewController:vc]; }
tabBarItem里的文字颜色大小一般也是有需要要改的.用这个方法
/** * 设置所有UITabBarItem的文字属性 */ - (void)setupItemTitleTextAttributes { UITabBarItem *item = [UITabBarItem appearance]; // 普通状态下的文字属性 NSMutableDictionary *normalAttrs = [NSMutableDictionary dictionary]; normalAttrs[NSFontAttributeName] = [UIFont systemFontOfSize:14]; normalAttrs[NSForegroundColorAttributeName] = [UIColor grayColor]; [item setTitleTextAttributes:normalAttrs forState:UIControlStateNormal]; // 选中状态下的文字属性 NSMutableDictionary *selectedAttrs = [NSMutableDictionary dictionary]; selectedAttrs[NSForegroundColorAttributeName] = [UIColor darkGrayColor]; [item setTitleTextAttributes:normalAttrs forState:UIControlStateSelected]; }
在自定义的tabBarController的[viewDidLoad]里一般放这么三个方法
/**** 设置所有UITabBarItem的文字属性 ****/ [self setupItemTitleTextAttributes]; /**** 添加子控制器 ****/ [self setupChildViewControllers]; /**** 更换TabBar ****/ [self setupTabBar];
在tabBarController里面更换tabBar这个View的代码如下:
/** * 更换TabBar */ - (void)setupTabBar { [self setValue:[[ZZFTabBar alloc] init] forKeyPath:@"tabBar"]; }
//如果tabBar没有特殊的按钮(类似发布/直播录制)和什么鬼东西,在满足需求的情况下一般也不需要自定义tabBar的.
相关文章推荐
- (六)TabBarController的简单自定义
- OC学习日记01
- iOS项目的完整重命名方法图文教程
- ios之NSUserDefault存储自定义类型的对象
- IOS线程间通信
- iOS中关于旋转屏的控制
- iOS中关于旋转屏的控制
- ios获取文件目录方法
- iOS 下ARC的内存管理机制
- ios获取当前时间年月日时分秒
- iOS设计模式-原型模式
- 浅谈 iOS 版本号
- iOS应用程序5种常见的存储方式
- iOS电池的监听
- iOS -- 上传图片到服务器
- [编写高质量iOS代码的52个有效方法](十一)系统框架
- iOS 简单实现抽屉效果
- iOS图像处理之 coreImage.
- 二维码扫描
- iOS开发设置关于tabBar和navigationBar以及item中的一些全局属性