UITabBarController是iOS开发中经常使用的一个视图控制器。简单的想象一下,它就相当于一个容器,盛放其他的视图控制器。怎么使用它?(以下过程是我自己使用的,可能略繁琐,代码环境使用了ARC)
1.新建一个UITabBarController,这里命名为MainViewController
2.新建一个ViewController,命名为BaseViewController(为什么这么做?后续的视图控制器可以继承自BaseViewController,在BaseViewController可以完成一些各视图相同的设置)
3.新建一个UINavigationController,命名为BaseNavigationViewController(理由同上,假如没有用到导航控制器可以不需要这步)
4.按需求创建好几个BaseViewController(这里创建两个firstViewController和secondViewController)
5.在MainViewController.m中,添加以下代码:
firstViewController *first = [[firstViewController alloc]init];
secondViewController *second = [[secondViewController alloc]init];
NSArray *views = @[first,second];
NSMutableArray *controllers = [NSMutableArray array];
for (UIViewController *view in views) {
BaseNavigationViewController *nav = [[BaseNavigationViewController alloc]initWithRootViewController:view];
[controllers addObject:nav];
}
[self setViewControllers:controllers];
[self setSelectedIndex:0];
6.在firstViewController.m的
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{
}中设置标题:(使用了导航栏的话,就是导航栏标题)
self.title = @"first";
设置TabBarItem:
UITabBarItem *barItem = [[UITabBarItem alloc]init];
[barItem setFinishedSelectedImage:[UIImage imageNamed:@"select.png"]withFinishedUnselectedImage:[UIImage imageNamed:@"unselected.png"]]; //设置tabbar选中和未选中状态下的图片
barItem.title = @"first"; //设置tabbar标题
[barItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIColor whiteColor],UITextAttributeTextColor, nil] forState:UIControlStateNormal];//设置tabbar文字未选中状态下的颜色
[barItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIColor yellowColor],UITextAttributeTextColor, nil] forState:UIControlStateHighlighted];//设置tabbar文字选中状态下的颜色
self.tabBarItem = barItem;