Caf*_*ots 1 uitabbarcontroller ios swift
嗨,我是ios开发的新手,特别是在swift中.基本上我只需要切换标签,我已经尝试tabBarController?.selectedIndex = 1但似乎没有切换标签.

上面的图片是我的故事板,初始设置是我有splitview控制器在master上的初始视图是tableViewController什么A,当在细胞的附件detail of A上点击细节时出现在splitview的细节上,当点击行本身时
在Tab Bar Controller更换主
然后,我有四个标签在我tabBarController Tab B,Tab C,Tab D,和Tab E这仅仅是当轻敲它显示了它的相应视图控制器作为SPLITVIEW的细节然后在我的列表tab E我有3个按钮的每个按钮设计成起作用以切换标签
注意:选项卡和详细信息嵌入在导航控制器中
我有点混淆如何以及这个标准是什么.任何人都可以帮我任何评论,建议会这样做.
的原因
tabBarController?.selectedIndex = 1
不工作,是tabBarController是零.
为了获得正确的tabBarController,您必须从window对象的根目录获取它.像这样的东西,
var tabBarController: UITabBarController = self.window?.rootViewController as? UITabBarController tabBarController.selectedIndex = 1
因为,您可能必须在导航堆栈中找到正确的tabBarController,您还必须遍历堆栈.从上面的故事板,我相信你正在从Tableview didSelect加载tabbarController,所以你必须得到tabBarController并在那里选择tabbar索引.
希望能帮助到你.
小智 5
在选项卡栏控制器的身份检查器中,我向情节提要ID“ tabBarController”添加了名称。在我的操作中,我添加了实例化视图控制器并强制转换为UITabbarController。您将能够切换到所选的标签栏。希望这可以帮助
@IBAction func buttonTapped(_ sender: Any) {
let mainStoryboard = UIStoryboard(name: "Main", bundle: Bundle.main)
let vc: UITabBarController = mainStoryboard.instantiateViewController(withIdentifier: "tabBarController") as! UITabBarController
vc.selectedIndex = 0
self.present(vc, animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12865 次 |
| 最近记录: |