分享

UITabBarController

 没原创_去搜索 2015-08-10

UITabBarController是选项卡栏导航控制器,显示效果是在页面底部有多个选项卡,通过点击不同选项卡可以在不同的ViewController之间进行切换。


这种对象的层次结构至少包含6个对象:

一个UITabBarController;

两个UIViewController;

一个UITabBar;

两个UITabBarItem;


UITabBarController是选项卡栏视图控制器,UITabBar是底部两个UITabBarItem的容器,管理两个UITabBarItem,每个UITabBarItem对应一个UIViewController,然后每个UIViewController都有自己的视图和视图控制器。


UITabBarController中有一个viewControllers属性,这是一个NSArray,包含选项卡控制器的视图控制器


下面来用代码创建一个UITabBarController:

下面是工程结构:

 

首先创建两个带xib文件的ViewController,分别为FirstViewController和SecondViewController

然后在AppDelegate.h中声明@property (strongnonatomicUITabBarController *tabBarController;,并添加协议UITabBarControllerDelegate


在.m中实现如下代码:

 

  1. (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions  
  2.  
  3.     self.window [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];  
  4.     // Override point for customization after application launch.  
  5.      
  6.     //第一个tab的viewController  
  7.     FirstViewController *firstViewController [[FirstViewController alloc]init];  
  8.      
  9.     //如果在这里指定tabitem标题,则在FirstViewController中指定self.tabBarItem.title则不生效     
  10.     firstViewController.title @"First view" 
  11.      
  12.     UITabBarItem *firstItem [[UITabBarItem alloc]initWithTitle:@"First" image:nil tag:1];  
  13.     [firstItem setFinishedSelectedImage:[UIImage imageNamed:@"p1"withFinishedUnselectedImage:[UIImage imageNamed:@"p1_f"]];  
  14.     firstViewController.tabBarItem firstItem;  
  15.      
  16.      
  17.     SecondViewController *secondViewController [[SecondViewController alloc]init];  
  18.      
  19.     //构建TabBarItem  
  20.     UITabBarItem *secondItem [[UITabBarItem alloc]initWithTitle:@"Second" image:nil tag:2];  
  21.      
  22.     //设置选中和非选中状态下的图片  
  23.     [secondItem setFinishedSelectedImage:[UIImage imageNamed:@"p2_f"withFinishedUnselectedImage:[UIImage imageNamed:@"p2"]];  
  24.     //右上角小图标  
  25.    [secondItem setBadgeValue:@"2"];  
  26.     //指定tabBarItem  
  27.     secondViewController.tabBarItem secondItem;  
  28.     [secondItem release];  
  29.      
  30.     //构建UITabBarController并指定代理为本身  
  31.     self.tabBarController [[[UITabBarController alloc]init] autorelease];  
  32.     self.tabBarController.delegate self;  
  33.      
  34.     //为UITabBarController添加TabBarItem  
  35.     self.tabBarController.viewControllers [NSArray arrayWithObjects:firstViewController,secondViewController, nil];  
  36.      
  37.     [firstViewController release];  
  38.     [secondViewController release];  
  39.      
  40.     //设置选中哪个tab  
  41. //    [self.tabBarController setSelectedIndex:0];  
  42.      
  43.     //指定根视图  
  44.     self.window.rootViewController  self.tabBarController;  
  45.      
  46.     self.window.backgroundColor [UIColor whiteColor];  
  47.     [self.window makeKeyAndVisible];  
  48.     return YES;  
  49. }  


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章