我有一个tabBarController
,其中三个items
分别为不同的viewControllers
。我的项目中有四个targets
,对于targets
之一,我想添加一个新的tabBar
item
并转到newViewController
。当我运行另一个item
时,targets
不应该显示。
[首先,我认为将newViewController
设置为仅对所需的特定target
可用非常容易,并且如果我在另一个[ C0]。但是该应用程序崩溃了。
是否有一种无需使用tabBar
代码即可隐藏/显示基于target
的tabBar
item
的方法。我们试图摆脱该项目中的问题。如果可能的话,只在target
中执行此操作会很好。如果不是,则有一个自定义的#if target
类。让我知道您是否需要从中查看一些代码。
由于注释部分变得非常混乱,我以为我要发表关于针对不同目标使用不同storyBoard
集合的方法的要点。因此,首先我创建了一个静态tabBar
变量,让我知道正在执行哪个目标。这是代码:
UITabBarItem
然后在Environment
中,我正在根据当前目标设置enum Target {
case targetOne, targetTwo
static var current: Target {
Bundle.main.bundleIdentifier?.contains("targetOneIdentifier") == true ? .targetOne : .targetTwo
}
}
属性。这是TabBarController中的一些代码:
UITabBarController
注意:这只是我所做的自定义要点。整个过程确实很冗长,考虑到这种情况,将很难理解。