UITabBarController简单的使用

使用步骤:
1.初始化UITabBarController
2.设置UIWindow的rootViewController为UITabBarController
3.创建相应的子控制器(ViewController)
4.把子控制器添加到UITabBarController

代码示例:
AppDelegate
- ( BOOL )application:( UIApplication *)application didFinishLaunchingWithOptions:( NSDictionary *)launchOptions {
   
// 创建 window
   
self . window = [[ UIWindow alloc] initWithFrame:[[UIScreenmainScreen] bounds]];
   
//设置背景色
   
self.window.backgroundColor = [UIColorwhiteColor];
 
   
self. window .rootViewController = [[UIViewControlleralloc] init];
   
   
//设置window 为主窗口并显示出来
    [
self.windowmakeKeyAndVisible];
   
   
tabBarVc *vc = [[tabBarVcalloc]init];
   
   
//设置控制器为window的根控制器
   
self.window.rootViewController =vc;
   
returnYES;
}

tabBarVc.m
- ( void )viewDidLoad {
    [superviewDidLoad];
   
    [selfsetupViewControllers];

     //选择页面的下标index
     self.selectedIndex = 2;
}

-(
void )setupViewControllers
{
    oneVC *vc1 = [[oneVCalloc]init];
//这里也可以使用navigation,取决于项目的需要
//    UINavigationController *nav1 = [[UINavigationController alloc] initWithRootViewController:vc1];
   
   
twoVC *vc2 = [[twoVCalloc]init];
//    UINavigationController *nav2 = [[UINavigationController alloc]initWithRootViewController:vc2];
   
   
threeVC *vc3 = [[threeVCalloc]init];
//    UINavigationController *nav3 = [[UINavigationController alloc]initWithRootViewController:vc3];
   
   
self.viewControllers = @[vc1,vc2,vc3];
    vc1.
tabBarItem.title = @"one";
    vc2.
tabBarItem.title = @"two";
    vc3.tabBarItem.title = @"three";
     
    //tarBarItem文字和图片填充色
    self.tabBar.tintColor = [UIColorredColor];

    //bar背景色
    self.tabBar.barTintColor = [UIColorwhiteColor];

    //普通状态下的图片
    vc1. tabBarItem . image = [ UIImage imageNamed:@"image1"];
    //选中状态下的图片
    vc1. tabBarItem . selectedImage = [ UIImage imageNamed:@"image2"];
    vc2.
tabBarItem.image = [UIImageimageNamed:@"image3"];
    vc3.
tabBarItem.image = [UIImageimageNamed:@"image4"];
}


效果如下:


点击one时 图标会切换为image2.


UITabBar上面显示的每一个Tab都对应着一个ViewController,我们可以通过设置viewcontroller.tabBarItem属性来改变tabbar上对应的tab显示内容。否则系统将会根据viewController的title自动创建一个,该tabBarItem只显示文字,没有图像。当我们自己创建UITabBarItem的时候,我们可以显示的指定显示的图像和对应的文字描述。当然还可以通过setFinishedSelectedImage:withFinishedUnselectedImage:方法给选中状态和飞选中状态指定不同的图片。下面看个自己创建UITabBarItem的小例子:

UITabBarItem *item = [[UITabBarItem alloc] initWithTitle:@"Second" image:nil tag:2];
[item setFinishedSelectedImage:[UIImage imageNamed:@"second.png"] 
   withFinishedUnselectedImage:[UIImage imageNamed:@"first.png"]];
viewController2.tabBarItem = item;
自定义一个item同时赋值给viewController2的tabBarItem上
此外UITabBarItem还有一个属性badgeValue,通过设置该属性可以在其右上角显示一个小的角标,通常用于提示用户有新的消息

UITabBarController的Rotation

UITabBarController默认只支持竖屏,当设备方向放生变化时候,它会查询viewControllers中包含的所有ViewController,仅当所有的viewController都支持该方向时,UITabBarController才会发生旋转,否则默认的竖向。

此处需要注意当UITabBarController支持旋转,而且发生旋转的时候,只有当前显示的viewController会接收到旋转的消息。






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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值