gpt4 book ai didi

ios - 在 UiTabBarViewController 中实现 shouldSelectViewController 方法

转载 作者:行者123 更新时间:2023-11-28 22:31:47 25 4
gpt4 key购买 nike

我正在使用 Storyboard并将 UITabBarViewController 作为我的导航 Controller 。我需要的是使用 shouldSelectViewController 方法,它是委托(delegate) UITabBarControllerDelegate 的一部分。

我不确定如何在我的 CustomUiTabBarController 中覆盖此方法。

我试图像这样定义接口(interface):

@interface CustomTabBarController : UITabBarController <UITabBarControllerDelegate>

然后我实现了这个:

-(BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
//nothing yet
}

但是,当我单击选项卡时,不会执行 shouldSelectViewController。我也无法在 Storyboard中将 CustomTabBarController 类设置为 TabBar 的委托(delegate),因为它会导致异常。

我显然在这里泄露了一些 iOS 的理解。请协助。

最佳答案

首先,从应用程序的 View Controller 流中获取 UITabbarController 的对象。然后在 appDelegate 中创建一个 tabbarcontroller 的属性并为其分配值,例如,

if([viewController isKindOfClass:[UITabBarController class]]){
UITabBarController *objTabbarController = (UITabBarController *) viewController;
self.objTabbarController = objTabbarController;
self.objTabbarController.delegate = self;
}

将委托(delegate)分配给它,

@interface AppDelegate : UIResponder <UIApplicationDelegate,UITabBarDelegate>

并实现AppDelegate.m文件中的方法

shouldSelectViewController 中只需return YES;

 - (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
NSLog(@"tab selected index %d",tabBarController.selectedIndex);
}

关于ios - 在 UiTabBarViewController 中实现 shouldSelectViewController 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17213320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com