使用代码和storyboard分别创建UITabBarController

1、iOS中最常见的一种布局,在底部设置Tab导航,分别控制不同的视图。

使用代码和storyboard分别创建UITabBarController_第1张图片

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 {
    // Override point for customization after application launch.
    
    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];

    
    //设置底部tabbar
    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"];
    
    
    //设置选中的tabitem,也可以使用selectedViewController
//    tab.selectedIndex = 2;
    self.window.rootViewController=tab;
    
    
    
    return YES;
}

3、使用storyboard创建UITabBarController的方式比较简单。

1)在sb中,选择对象视图,选择Tab Bar Controller,拖到sb中。

使用代码和storyboard分别创建UITabBarController_第2张图片

此时在sb中你可以看到一个TabBarController对应两个UIViewController

2)新建ViewController或者TableViewController。选中TabBarController视图最顶上的第一个小圆点,使用control键连接新建的视图,用这种方式新建segue,选择Relationship Segue下的view controllers。

使用代码和storyboard分别创建UITabBarController_第3张图片

使用上面的方式就可以创建成功了。然后还可以在sb中直接定义每一个tabbaritem的title和imge。


你可能感兴趣的:(使用代码和storyboard分别创建UITabBarController)