tabBar点击事件以及返回跟vc的监控方法

本文详细介绍了如何在iOS应用中通过自定义代理方法来实现UITabBarController的特定功能,包括视图控制器的选择事件处理及特殊场景下的视图跳转逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// 遵循代理 <UITabBarControllerDelegate>

self.tabBarController.delegate = self;


//  相关代理方法如下


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

{

    

    int index = tabBarController.selectedIndex;

    

    switch (index) {

        case 0:

            NSLog(@"1");

            break;

        case 1:

            NSLog(@"2");

            break;

        case 2:

            NSLog(@"3");

            break;

        case 3:

        {

            UIViewController *vc = [[UIViewController alloc] init];

            if ([vc isEqual:viewController]) {

                

                vc.view.backgroundColor = [UIColor redColor];

                UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc];

                vc.hidesBottomBarWhenPushed =NO;

                

                //            [viewController presentViewController:nav animated:YES completion:nil];

                

                [((UINavigationController *)tabBarController.selectedViewController) pushViewController:vc animated:YES];

            }

            

        }

            break;

        default:

            break;

    }

}


- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController

{

    NSLog(@"shouldselect");

    

    UIViewController *selectTab = tabBarController.selectedViewController;

    

    if ([viewController isEqual:selectTab]) {

        NSLog(@"又点我??");

        

        return NO;

        

    }

    

    return YES;

    

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值