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;

}


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • *7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block...
    炙冰阅读 7,361评论 1 14
  • { 11、核心动画 需要签协议,但是系统帮签好 一、CABasicAnimation 1、创建基础动画对象 CAB...
    CYC666阅读 5,540评论 2 4
  • 代码创建UIWindow对象 Xcode7之后使用代码创建UIWindow对象: //创建UIWindow对象 s...
    云之君兮鹏阅读 5,225评论 0 2
  • 42 函数的定义 函数就是方法一个小程序(特定功能),函数就是方法 修饰符 返回值类型 函数名(参数类型 形式参数...
    丛鹏阅读 1,441评论 0 0
  • 公元591年,长孙大人自缢,满朝的忠良去了大半。我在长安的酒楼点了一壶酒,看着市里来往的行人,和着满腔的愁...
    公瑾当年羽扇阅读 4,724评论 0 1

友情链接更多精彩内容