转自 http://blog.csdn.net/ssrrxx111/article/details/48315843
1、iOS中最常见的一种布局,在底部设置Tab导航,分别控制不同的视图。

2、使用代码的方式创建UITabBarController。
1)在AppDelegate的
- - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
方法中,新建UITabBarController,然后新建自己需要的UIViewController或者UITableViewController。将这些视图作为UINavigationController的根视图。使用方法
initWithRootViewController。
2)设置UITabBarController的viewControllers属性,这里是一个数组,可以把之前的UINavigationController设置在数组中。
3)获取UITabBarController的tabBar属性。然后创建多个UITabBarItem与上面的视图对应起来。设置UITabBarItem的title和image,分别对应标题和图像。
在tabbarcontroller中最多只能放4个tab,如果超过了4个,那么后面的都会自动生成一个More的tab,然后将多余的tab项放在More对应的TableViewController视图中。
使用代码创建UITabBarController的代码如下:
- - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
-
-
- MainController *mainController = [[MainController alloc] init];
- BaseNavigationController *mainNavCtl = [self initlizerNavigationControllerWithRootViewController:mainController];
-
- MainController *mainController2 = [[MainController alloc] init];
- BaseNavigationController *mainNavCtl2 = [self initlizerNavigationControllerWithRootViewController:mainController2];
-
- MainController *mainController3 = [[MainController alloc] init];
- BaseNavigationController *mainNavCtl3 = [self initlizerNavigationControllerWithRootViewController:mainController3];
-
- MainController *mainController4 = [[MainController alloc] init];
- BaseNavigationController *mainNavCtl4 = [self initlizerNavigationControllerWithRootViewController:mainController4];
-
-
-
- UITabBarController *tab = [[UITabBarController alloc] init];
- tab.viewControllers = @[mainNavCtl,mainNavCtl2,mainNavCtl3,mainNavCtl4];
-
- UITabBar *tabBar = tab.tabBar;
-
- UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0];
- UITabBarItem *tabBarItem2 = [tabBar.items objectAtIndex:1];
- UITabBarItem *tabBarItem3 = [tabBar.items objectAtIndex:2];
- UITabBarItem *tabBarItem4 = [tabBar.items objectAtIndex:3];
- tabBarItem1.title=@"用户";
- tabBarItem1.image=[UIImage imageNamed:@"github60"];
-
- tabBarItem2.title=@"位置";
- tabBarItem2.image=[UIImage imageNamed:@"github160"];
-
- tabBarItem3.title=@"发现";
- tabBarItem3.image=[UIImage imageNamed:@"github60"];
-
- tabBarItem4.title=@"更多";
- tabBarItem4.image=[UIImage imageNamed:@"more"];
-
-
-
-
- self.window.rootViewController=tab;
-
-
-
- return YES;
- }
3、使用storyboard创建UITabBarController的方式比较简单。
1)在sb中,选择对象视图,选择Tab Bar Controller,拖到sb中。
此时在sb中你可以看到一个TabBarController对应两个UIViewController
2)新建ViewController或者TableViewController。选中TabBarController视图最顶上的第一个小圆点,使用control键连接新建的视图,用这种方式新建segue,选择Relationship Segue下的view controllers。
使用上面的方式就可以创建成功了。然后还可以在sb中直接定义每一个tabbaritem的title和imge。