gpt4 book ai didi

ios - 防止自定义 UITabBarController 更改 Tab

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:18:38 25 4
gpt4 key购买 nike

如何根据条件阻止选项卡被点击?我尝试了几件事,但我可能错过了一些基础知识。

我有一个 UITabBarCustomController 实现 UITabBarController。在 viewDidLoad 中,根据条件,我将 selectedIndex 强制设置为 1,这有效。

不过,我无法阻止用户离开此选项卡。我尝试在与我的 UITabBar 链接的其他 ViewController 上设置一个 UITabBarControllerDelegate,我在其中实现了 - (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController,最后我也尝试了在我的自定义 UITabBarCustomController 上实现此委托(delegate)和方法。但在这两种情况下,当我单击另一个选项卡时,什么也没有发生,用户可以访问该选项卡(这些方法中的 NSLog 不会在调试中显示)。

有什么想法吗?谢谢。

//编辑:委托(delegate)方法中的测试代码:

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
{
NSLog(@"test");
return NO;
}

最佳答案

这就是您可以停止/防止 Tabbar 项目在点击 Tabbar 项目时切换标签的方法

对于 Swift 3.0

确保您已实现 UITabBarControllerDelegate 并将 UITabbarControllerdelegate 设置为 self

然后在你的 Controller 中覆盖这个委托(delegate)

func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {

if viewController == tabBarController.viewControllers?[2] {
return false
} else {
return true
}
}

关于ios - 防止自定义 UITabBarController 更改 Tab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22410164/

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