关于UITabBarController的使用

UITabBarController简单介绍:


1.UITabBarController这种控件,主要用于管理多个控制器,例如微信,QQ等App的最下面的导航栏。现下较为常用的iOS控件之一。

2.UITabBarController的使用

    初始化UITabBarController

    设置UIWindow的rootViewController为UITabBarController

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

    把子控制器添加到UITabBarController




AppDelegate.m


引入头文件

#import "AppDelegate.h"

#import "OneViewController.h"

#import "ThreeViewController.h"

#import "TwoViewController.h"

#import "FiveViewController.h"

#import "FourViewController.h"

#import "SevenViewController.h"

#import "SixViewController.h"


@interfaceAppDelegate ()<UITabBarControllerDelegate>

@end


@implementation AppDelegate



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

    // Override point for customization after application launch.

    self.window = [[UIWindowalloc]initWithFrame:[UIScreenmainScreen].bounds];

    [self.windowmakeKeyAndVisible];

    self.window.backgroundColor = [UIColor whiteColor];

    [_windowrelease];

    

    

    

    

    

    //UITabBarController的使用

    UITabBarController *barVC = [[UITabBarControlleralloc]init];

   //指定为根视图控制器

    self.window.rootViewController = barVC;

    //条的颜色

    barVC.tabBar.barTintColor = [UIColorblackColor];

    //点击字的颜色

    barVC.tabBar.tintColor = [UIColoryellowColor];

    //指定代理

    barVC.delegate =self;

    

    [barVCrelease];

    

    

    //tabbarviewcontrollers属性赋值

    

    OneViewController *oneVC = [[OneViewControlleralloc]init];

    //oneVC.title = @"red";

   //利用系统的图标设置tabbar显示内容(系统的,全套)

    oneVC.tabBarItem = [[[UITabBarItemalloc]initWithTabBarSystemItem:UITabBarSystemItemBookmarkstag:100]autorelease];

    

    

    

    //小红点

    oneVC.tabBarItem.badgeValue =@"99+";

    

    

    

   

    

    TwoViewController *twoVC = [[TwoViewControlleralloc]init];

    //twoVC.title = @"orange";

    

   //自己设置图片~的方法,

//    //产生一个图片

//    UIImage *iamge = [UIImage imageNamed:@"8.jpg"];

//    

//    iamge = [iamge imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

    

//    twoVC.tabBarItem = [[UITabBarItem alloc]initWithTitle:@"sa" image:iamge tag:103];

//    twoVC.tabBarItem.badgeValue = @"99+";

    

    

    //自己设置图标

//    twoVC.tabBarItem = [[[UITabBarItem alloc]initWithTitle:@"热狗" image:[UIImage imageNamed:@"iconfont-regou.png" ]tag:101] autorelease];

    

    twoVC.tabBarItem = [[[UITabBarItemalloc]initWithTabBarSystemItem:UITabBarSystemItemFavoritestag:101]autorelease];

    

    

    

    ThreeViewController *threeVC = [[ThreeViewControlleralloc]init];

    threeVC.tabBarItem = [[[UITabBarItemalloc]initWithTabBarSystemItem:UITabBarSystemItemHistorytag:102]autorelease];


    

    FourViewController *fourVC = [[FourViewControlleralloc]init];


    fourVC.tabBarItem = [[[UITabBarItemalloc]initWithTabBarSystemItem:UITabBarSystemItemDownloadstag:103]autorelease];

    

    

    

    

    FiveViewController *fiveVC = [[FiveViewControlleralloc]init];

    fiveVC.title =@"cyan";

    

    SixViewController *sixVC = [[SixViewControlleralloc]init];

    sixVC.title =@"blue";

    

    SevenViewController *sevenVC = [[SevenViewControlleralloc]init];

    sevenVC.title =@"puerpo";

    

    

    

    UINavigationController *navaVC = [[UINavigationControlleralloc]initWithRootViewController:oneVC];

    

    

    

    

   //创建一个装好了若干试图控制器的数组

   NSArray *arr = [NSArrayarrayWithObjects:navaVC,twoVC,threeVC,fourVC,fiveVC,sixVC,sevenVC,nil];

    

    

    

    [oneVCrelease];

    [twoVCrelease];

    [threeVCrelease];

    [fiveVCrelease];

    [fourVCrelease];

    [sixVCrelease];

    [sevenVCrelease];

    

    

   //赋值

    barVC.viewControllers = arr;

    

    returnYES;

}


- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController

{

   //判断一个对象是否是某个类创建的

//    if ([viewController isKindOfClass:[OneViewController class]]) {

//        NSLog(@"点击第一个");

//        

//    }

    //或者这个方法

   if (tabBarController.selectedIndex ==0) {

       NSLog(@"-----");

    }

    //去掉第二个页面的红点,badgevalue

   if (tabBarController.selectedIndex ==1) {

       NSLog(@"0000");

        viewController.tabBarItem.badgeValue =nil;//点击哪个页面,哪个页面的小红点去掉

    }

}



- (void)dealloc

{

    [_windowrelease];

    [superdealloc];

}



最后实现的效果:





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值