iPhone开发 tabBarController与UINavigationController结合

本文介绍了一个iOS应用的启动过程及如何使用UITabBarController进行视图控制器间的切换。通过实例展示了创建不同视图控制器并将其整合进UITabBarController的方法。

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

{

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

    self.window.backgroundColor = [UIColorwhiteColor];

    

    //生成各个视图控制器

    MedicalData* aa = [[MedicalDataalloc]init];

    UINavigationController *aaNav = [[UINavigationControlleralloc] initWithRootViewController:aa];

    HealthRecord* bb = [[HealthRecordalloc]init];

    UINavigationController *bbNav = [[UINavigationControlleralloc] initWithRootViewController:bb];

    KonwledgeBase* cc = [[KonwledgeBasealloc]init];

    UINavigationController *ccNav = [[UINavigationControlleralloc] initWithRootViewController:cc];

    CarePrescription* dd = [[CarePrescriptionalloc]init];

    UINavigationController *ddNav = [[UINavigationControlleralloc] initWithRootViewController:dd];

    //加入一个数组    

    NSArray* controllerArray = [[NSArray alloc]initWithObjects:aaNav,bbNav,ccNav,ddNav ,nil];

    //创建UITabBarController控制器  (定义在.h中,否在开启arc会自动释放掉,内存访问出错)

    tabBarController = [[UITabBarControlleralloc]init];

    //设置委托

    tabBarController.delegate = self;

    //设置UITabBarController控制器的viewControllers属性为我们之前生成的数组controllerArray

    tabBarController.viewControllers = controllerArray;

    //默认选择第1个视图选项卡(索引从0开始的)

    tabBarController.selectedIndex = 0;

    //设置TabBarItem的标题与图片//30 * 30

    [(UITabBarItem *)[tabBarController.tabBar.itemsobjectAtIndex:0] setTitle:@"体检数据"];  

    [(UITabBarItem *)[tabBarController.tabBar.itemsobjectAtIndex:0] setImage:[UIImageimageNamed:@"check_no.png"]];  

    [(UITabBarItem *)[tabBarController.tabBar.itemsobjectAtIndex:1] setTitle:@"健康档案"];

    [(UITabBarItem *)[tabBarController.tabBar.itemsobjectAtIndex:1] setImage:[UIImageimageNamed:@"check_yes.png"]];

    [(UITabBarItem *)[tabBarController.tabBar.itemsobjectAtIndex:2] setTitle:@"知识库"];

    [(UITabBarItem *)[tabBarController.tabBar.itemsobjectAtIndex:2] setImage:[UIImageimageNamed:@"ckb1.png"]];

    [(UITabBarItem *)[tabBarController.tabBar.itemsobjectAtIndex:3] setTitle:@"保健处方"];

    [(UITabBarItem *)[tabBarController.tabBar.itemsobjectAtIndex:3] setImage:[UIImageimageNamed:@"ckb2.png"]];

    //读取

    UIViewController* activeController = tabBarController.selectedViewController;

    if(activeController == aa){

        //

    }

    //tabBarControllerview作为子视图添加到window

    [self.windowaddSubview:tabBarController.view];

    [self.windowmakeKeyAndVisible];

    returnYES;

 

}

//切换事件

- (void)tabBarController:(UITabBar *)tb  didSelectViewController:(UIViewController *__strong)viewController

{

    NSLog(viewController.title);

    if([viewController.title isEqualToString:@"保健处方"])

    {

        [(UITabBarItem *)[tabBarController.tabBar.itemsobjectAtIndex:3] setBadgeValue:nil];

        //[(UITabBarItem *)[tabBarController.tabBar.items objectAtIndex:3] setBadgeValue:@"0"];

    }

}



转载于:https://www.cnblogs.com/fanwa/archive/2012/03/06/2381357.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值