IOS开发 分栏控制器基础

分栏控制器的概念:

     分栏控制器是管理多个视图控制器的管理控制器,通过数组的方式管理多个平行关系的视图控制器,与导航控制器的区别在于:导航控制器管理的是有层级关系的控制器。

  分栏控制器在同一界面最多显示5个控制器切换按钮,超过5个时会自动创建一个新的导航控制器来管理其余的控制器。

UITabBarltem:分栏按钮元素对象

badgeValue:分栏按钮提示信息

selectedIndex:分栏控制器选中的控制器索引

viewControllers:分栏控制器管理数组

selectedViewController:分栏控制器选中的控制器对象


1.创建VCFirst,VCSecond,VCThrid视图都继承于UIViewController

【VCFirst.m】

@interface VCFirst()

@end

@implementation VCFirst

-(void)viewDidLoad{

[super viewDidLoad];

//方法一

//创建一个分栏按钮,参数1:文字,参数2:显示图片,参数3:设置按钮的tag值

/*UITabBarItem* tabBarItem=[[UITabBarItem alloc] initWithTitle:@"" image:nil tag:101];

self.tabBarItem=tabBarItem;*/

方法二

//根据系统风格创建分栏按钮,参数1:系统风格设定

UITabBarItem* tabBarItem=[[UITabBarItem alloc]initWithTabBarSystemItem:UITabBarSystemItemContacts tag:101];

//按钮右上角的提示信息,通常用来提示未读的信息

tabBarItem.badgeValue=@"22";

self.tabBarItem=tabBarItem;

}






【AppDelegate.h】

#Import"AppDelegate.h"

#import"VCFirst.h"

#import"VCSecond.h"

#import"VCThird.h"

@interface AppDelegate()

@end

@implementation AppDelegate

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{

//创建Window

self.window=[[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];

//显示window

[self.wind makeKeyAndVisible];

VCFirst*  vcFirst=[[VCFirst allock]init];

vcFirst.view.backgroundcolor=[[UIColor blueColor];

//创建视图控制器二

VCSecond* vcSecond=[[VCSecond alloc]init];

vcSecond.view.backgroundColor=[UIColor yellowColor];

VCThird* vcThird=[[VCThird alloc]init];

vcThird.view.backgroundColor=[UIColor orangeColor];

vcFirst.title=@"视图1";

vcSecond.title=@"视图2";

vcThird.title=@"视图3";

UITabBarController* tbController=[[UITabBarController alloc]init];

//创建一个控制器数组对,将所有要被分栏制器管理的对象添加到数组中

NSArray*  arrayVC=[NSArray arrayWithObjects:vcFirst,vcSecond,vcThrid.nil];

//将分栏视图控制器管理数组赋值

tbController.viewControllers=arrayVC;

//将分栏控制器做为根视图控制器

self.window.rootViewController=tbController;

//设置选中的视图控器的索引,通过索引来确定显示哪个一人控器,默认值从0开始

tbController.selectedIndex=2;

if(tbController.selectedViewController==vcThird){

NSLog(@"当前显示的是控制器三~");

}

//设置分栏控制器的工具栏的透明度

tbController.tabBar.translucent=NO;

return YES;

}


你可能感兴趣的:(IOS开发 分栏控制器基础)