UITabBarController简单介绍

UITabBarController是IOS中很常用的一个viewController,例如系统的闹钟程序、QQ、微信程序等。UITabBarController通常作为整个程序的rootViewController,而且不能添加到别的container viewController中。

一、简单介绍

UITabBarController和UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换。

二、UITabBarController的使用

1.使用步骤:

(1)初始化UITabBarController的对象

(2)设置UIWindow的rootViewController为UITabBarController

(3)创建相应的子控制器(viewcontroller)

(4)把子控制器添加到UITabBarController(或者通过UITabBarController的viewController属性将要显示的所有content viewcontroller添加到UITabBarController中)

下面看一个简单的例子:

 

#import "AppDelegate.h"
#import "ViewController.h"//子控制器
@interface AppDelegate ()

@end

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    //1.创建Window
    self.window=[[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
    self.window.backgroundColor=[UIColor redColor];
    //初始化一个UITabBarController
    UITabBarController *tab=[[UITabBarController alloc]init];
    //设置控制器为Window的根控制器
    self.window.rootViewController=tab;
     //b.创建子控制器
    //用法和导航控制器一致
    ViewController *vc1=[[ViewController alloc]init];
    vc1.view.backgroundColor=[UIColor grayColor];
    vc1.title=@"vc1";
    //vc1.tabBarItem=[[UITabBarItem alloc]initWithTabBarSystemItem:UITabBarSystemItemMostViewed tag:1];//系统的形状会把title掩盖住,换成系统对应的title

//    vc1.tabBarItem=[[UITabBarItem alloc]initWithTitle:@"vc1" image:nil  selectedImage:1];//自定义的添加图片
    //vc1.tabBarItem.image=[UIImage imageNamed:@""];添加图片
    vc1.tabBarItem.badgeValue=[NSString stringWithFormat:@"%@",@"王艳辉"];
    ViewController *vc2=[[ViewController alloc]init];
    vc2.view.backgroundColor=[UIColor greenColor];
    vc2.title=@"vc2";
    
    ViewController *vc3=[[ViewController alloc]init];
    vc3.view.backgroundColor=[UIColor blueColor];
    vc3.title=@"vc3";
    ViewController *vc4=[[ViewController alloc]init];
    vc4.view.backgroundColor=[UIColor brownColor];
    vc4.title=@"vc4";
    
    //把子控制器添加到UITabBarController的两种方法
    //注意:展示的顺序和添加的顺序一致,和导航控制器中不同,展现在眼前的是第一个添加的控制器对应的View。
    //1.
    [tab addChildViewController:vc1];
    [tab addChildViewController:vc2];
    [tab addChildViewController:vc3];
    [tab addChildViewController:vc4];
    //2.
    tab.viewControllers=@[vc1,vc2,vc3,vc4];
//    UITabBarButton在UITabBar中得位置是均分的,UITabBar的高度为49。
    //如果UITabBarController有N个子控制器,那么UITabBar内部就会有N 个UITabBarButton作为子控件与之对应。
    //在上面的程序中,UITabBarController有4个子控制器,所以UITabBar中有4个UITabBarButton,vc1,vc2,vc3,vc4.
    [self.window makeKeyAndVisible];
    return YES;
}

 

转载于:https://www.cnblogs.com/wyhwyh2114/p/4980488.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值