使用代码和storyboard分别创建UITabBarController

来源:互联网 发布:企业在淘宝开店都亏本 编辑:程序博客网 时间:2024/06/05 16:41

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 {    // 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中。


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

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


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


1 0
原创粉丝点击