不得姐实战教程 02 配置tabbar
2016-06-11 12:21
387 查看
百思不得姐 项目实战
02 配置tabbar
1.打开ViewController.m 文件 单击右键
@interface
ViewController ()
@end
中 ViewController选择 Refactor 中Rename…重构类名为XMGTabBarController
2. 打开 XMGTabBarController.h将其父类修改为 UITabBarController
3.打开 XMGTabBarController.m
修改 viewDidLoad 方法:
- (void)viewDidLoad
{
[super
viewDidLoad];
// 添加子控制器在tabbar控制器中创建控制器时就可以设置其tabBarItem的属性了
UIViewController *vc01 = [[UIViewControlleralloc]
init];
vc01.tabBarItem.title =@"精华";
vc01.tabBarItem.image = [UIImageimageNamed:@"tabBar_essence_icon"];
vc01.tabBarItem.selectedImage = [UIImageimageNamed:@"tabBar_essence_click_icon"];
//富文本用于更改NSString的字体样式
NSMutableDictionary *attrs = [NSMutableDictionarydictionary];
attrs[NSFontAttributeName] = [UIFontsystemFontOfSize:12];
attrs[NSForegroundColorAttributeName] = [UIColorgrayColor];
[vc01.tabBarItem
setTitleTextAttributes:attrs forState:UIControlStateNormal];
NSMutableDictionary *selectedAttrs = [NSMutableDictionarydictionary];
selectedAttrs[NSFontAttributeName] = [UIFontsystemFontOfSize:12];
selectedAttrs[NSForegroundColorAttributeName] = [UIColordarkGrayColor];
[vc01.tabBarItem
setTitleTextAttributes:selectedAttrs forState:UIControlStateSelected];
//选中tabBarItem后里面的图片文字会被自动蓝色渲染
// UIImage *image = [UIImageimageNamed:@"tabBar_essence_click_icon"];
// image = [imageimageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
// vc01.tabBarItem.selectedImage = image;
vc01.view.backgroundColor = [UIColorredColor];
//addChildViewController是UIView的方法给控制器添加子控制器如果是普通控制器视图会被覆盖
[self
addChildViewController:vc01];
UIViewController *vc02 = [[UIViewControlleralloc]
init];
vc02.tabBarItem.title =@"新帖";
vc02.tabBarItem.image = [UIImageimageNamed:@"tabBar_new_icon"];
vc02.tabBarItem.selectedImage = [UIImageimageNamed:@"tabBar_new_click_icon"];
vc02.view.backgroundColor = [UIColorgrayColor];
[vc02.tabBarItem
setTitleTextAttributes:attrs forState:UIControlStateNormal];
[vc02.tabBarItem
setTitleTextAttributes:selectedAttrs forState:UIControlStateSelected];
[self
addChildViewController:vc02];
UIViewController *vc03 = [[UIViewControlleralloc]
init];
vc03.tabBarItem.title =@"关注";
vc03.tabBarItem.image = [UIImageimageNamed:@"tabBar_friendTrends_icon"];
vc03.tabBarItem.selectedImage = [UIImageimageNamed:@"tabBar_friendTrends_click_icon"];
vc03.view.backgroundColor = [UIColorgreenColor];
[vc03.tabBarItem
setTitleTextAttributes:attrs forState:UIControlStateNormal];
[vc03.tabBarItem
setTitleTextAttributes:selectedAttrs forState:UIControlStateSelected];
[self
addChildViewController:vc03];
UIViewController *vc04 = [[UIViewControlleralloc]
init];
vc04.tabBarItem.title =@"我";
vc04.tabBarItem.image = [UIImageimageNamed:@"tabBar_me_icon"];
vc04.tabBarItem.selectedImage = [UIImageimageNamed:@"tabBar_me_click_icon"];
vc04.view.backgroundColor = [UIColorblueColor];
[vc04.tabBarItem
setTitleTextAttributes:attrs forState:UIControlStateNormal];
[vc04.tabBarItem
setTitleTextAttributes:selectedAttrs forState:UIControlStateSelected];
[self
addChildViewController:vc04];
}
4.打开AppDelegate.m文件
将self.window.rootViewController = [[ViewControlleralloc]
init];改为
self.window.rootViewController = [[XMGTabBarControlleralloc]
init];
5.防止图片被渲染 还可以通过:
选中 Assets.xcassets/TabBar 下面的任意一副图片 在右侧切换到第三个视图 将 Render As 值改为 Original Image 修改后运行结果:
02 配置tabbar
1.打开ViewController.m 文件 单击右键
@interface
ViewController ()
@end
中 ViewController选择 Refactor 中Rename…重构类名为XMGTabBarController
2. 打开 XMGTabBarController.h将其父类修改为 UITabBarController
3.打开 XMGTabBarController.m
修改 viewDidLoad 方法:
- (void)viewDidLoad
{
[super
viewDidLoad];
// 添加子控制器在tabbar控制器中创建控制器时就可以设置其tabBarItem的属性了
UIViewController *vc01 = [[UIViewControlleralloc]
init];
vc01.tabBarItem.title =@"精华";
vc01.tabBarItem.image = [UIImageimageNamed:@"tabBar_essence_icon"];
vc01.tabBarItem.selectedImage = [UIImageimageNamed:@"tabBar_essence_click_icon"];
//富文本用于更改NSString的字体样式
NSMutableDictionary *attrs = [NSMutableDictionarydictionary];
attrs[NSFontAttributeName] = [UIFontsystemFontOfSize:12];
attrs[NSForegroundColorAttributeName] = [UIColorgrayColor];
[vc01.tabBarItem
setTitleTextAttributes:attrs forState:UIControlStateNormal];
NSMutableDictionary *selectedAttrs = [NSMutableDictionarydictionary];
selectedAttrs[NSFontAttributeName] = [UIFontsystemFontOfSize:12];
selectedAttrs[NSForegroundColorAttributeName] = [UIColordarkGrayColor];
[vc01.tabBarItem
setTitleTextAttributes:selectedAttrs forState:UIControlStateSelected];
//选中tabBarItem后里面的图片文字会被自动蓝色渲染
// UIImage *image = [UIImageimageNamed:@"tabBar_essence_click_icon"];
// image = [imageimageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
// vc01.tabBarItem.selectedImage = image;
vc01.view.backgroundColor = [UIColorredColor];
//addChildViewController是UIView的方法给控制器添加子控制器如果是普通控制器视图会被覆盖
[self
addChildViewController:vc01];
UIViewController *vc02 = [[UIViewControlleralloc]
init];
vc02.tabBarItem.title =@"新帖";
vc02.tabBarItem.image = [UIImageimageNamed:@"tabBar_new_icon"];
vc02.tabBarItem.selectedImage = [UIImageimageNamed:@"tabBar_new_click_icon"];
vc02.view.backgroundColor = [UIColorgrayColor];
[vc02.tabBarItem
setTitleTextAttributes:attrs forState:UIControlStateNormal];
[vc02.tabBarItem
setTitleTextAttributes:selectedAttrs forState:UIControlStateSelected];
[self
addChildViewController:vc02];
UIViewController *vc03 = [[UIViewControlleralloc]
init];
vc03.tabBarItem.title =@"关注";
vc03.tabBarItem.image = [UIImageimageNamed:@"tabBar_friendTrends_icon"];
vc03.tabBarItem.selectedImage = [UIImageimageNamed:@"tabBar_friendTrends_click_icon"];
vc03.view.backgroundColor = [UIColorgreenColor];
[vc03.tabBarItem
setTitleTextAttributes:attrs forState:UIControlStateNormal];
[vc03.tabBarItem
setTitleTextAttributes:selectedAttrs forState:UIControlStateSelected];
[self
addChildViewController:vc03];
UIViewController *vc04 = [[UIViewControlleralloc]
init];
vc04.tabBarItem.title =@"我";
vc04.tabBarItem.image = [UIImageimageNamed:@"tabBar_me_icon"];
vc04.tabBarItem.selectedImage = [UIImageimageNamed:@"tabBar_me_click_icon"];
vc04.view.backgroundColor = [UIColorblueColor];
[vc04.tabBarItem
setTitleTextAttributes:attrs forState:UIControlStateNormal];
[vc04.tabBarItem
setTitleTextAttributes:selectedAttrs forState:UIControlStateSelected];
[self
addChildViewController:vc04];
}
4.打开AppDelegate.m文件
将self.window.rootViewController = [[ViewControlleralloc]
init];改为
self.window.rootViewController = [[XMGTabBarControlleralloc]
init];
5.防止图片被渲染 还可以通过:
选中 Assets.xcassets/TabBar 下面的任意一副图片 在右侧切换到第三个视图 将 Render As 值改为 Original Image 修改后运行结果:
相关文章推荐
- 从源码安装Mysql/Percona 5.5
- Extjs4.0 最新最全视频教程
- OpenERP 的XML-RPC的实例+many2many,one2many,many2one...
- CSS3属性教程与案例分享
- jquery教程靠边站,一分钱不花让你免费学会jquery
- autoit入门教程小结第1/5页
- 用Photoshop 制作草地效果简明教程
- 比较完整简洁的Flash处理XML文档数据教程 上篇第1/3页
- VBS基础编程教程 (第1篇)
- SQLite教程(十一):临时文件
- VBS基础编程教程 (第3篇)
- VBS教程:运算符-运算符(+)
- PostgreSQL教程(十):性能提升技巧
- PostgreSQL教程(二):模式Schema详解
- PostgreSQL教程(十三):数据库管理详解
- PostgreSQL教程(八):索引详解
- PostgreSQL教程(三):表的继承和分区表详解
- XML简易教程之三
- 如何使用jquery easyui创建标签组件
- ruby 数组使用教程