使用标签栏 Controller-> Nav controller -> View Hierarchy 从 app delegate 呈现视图 - iOS Swift
Present view from app delegate with a tabbar Controller-> Nav controller -> View Hierarchy - iOS Swift
我搜索了整个 S.O 并找到了类似的文章,但是 none 的解决方案对我有用。下面是我的视图层次结构的屏幕截图
我尝试过的许多代码片段之一如下:
var storyBoard = UIStoryboard()
if UIDevice.current.userInterfaceIdiom == .pad {
storyBoard = UIStoryboard(name: "iPad", bundle: nil)
} else {
storyBoard = UIStoryboard(name: "Main", bundle: nil)
}
let tabVc = self.window?.rootViewController as! UITabBarController
let mynVC = storyBoard.instantiateViewController(withIdentifier: "nav") as! UINavigationController
let calcVc = storyBoard.instantiateViewController(withIdentifier: "destVc")
tabVc.present(mynVC, animated: true, completion: { () -> Void in
// Segue , do stuff
})
以上代码显示了带导航栏的正确选项卡,但没有选项卡。
我想要一个强制触摸按钮来显示带有导航栏的选项卡和存在的选项卡,有人知道怎么做吗?
目前我无法对此进行全面测试,但我相信在标签栏中,您不会显示视图控制器。您设置它的视图控制器项和 selectedViewController 属性。
这应该可以,我会测试并尽快更新,
var storyBoard = UIStoryboard()
if UIDevice.current.userInterfaceIdiom == .pad {
storyBoard = UIStoryboard(name: "iPad", bundle: nil)
} else {
storyBoard = UIStoryboard(name: "Main", bundle: nil)
}
let tabVc = self.window?.rootViewController as! UITabBarController
let mynVC = storyBoard.instantiateViewController(withIdentifier: "nav") as! UINavigationController
let calcVc = storyBoard.instantiateViewController(withIdentifier: "destVc")
tabVc.viewControllers = [mynVC]
tabVc.selectedViewController = mynVC
根据下面的内容,您可能还需要调用 window.setKeyAndVisible() 才能实际显示
我搜索了整个 S.O 并找到了类似的文章,但是 none 的解决方案对我有用。下面是我的视图层次结构的屏幕截图
我尝试过的许多代码片段之一如下:
var storyBoard = UIStoryboard()
if UIDevice.current.userInterfaceIdiom == .pad {
storyBoard = UIStoryboard(name: "iPad", bundle: nil)
} else {
storyBoard = UIStoryboard(name: "Main", bundle: nil)
}
let tabVc = self.window?.rootViewController as! UITabBarController
let mynVC = storyBoard.instantiateViewController(withIdentifier: "nav") as! UINavigationController
let calcVc = storyBoard.instantiateViewController(withIdentifier: "destVc")
tabVc.present(mynVC, animated: true, completion: { () -> Void in
// Segue , do stuff
})
以上代码显示了带导航栏的正确选项卡,但没有选项卡。
我想要一个强制触摸按钮来显示带有导航栏的选项卡和存在的选项卡,有人知道怎么做吗?
目前我无法对此进行全面测试,但我相信在标签栏中,您不会显示视图控制器。您设置它的视图控制器项和 selectedViewController 属性。
这应该可以,我会测试并尽快更新,
var storyBoard = UIStoryboard()
if UIDevice.current.userInterfaceIdiom == .pad {
storyBoard = UIStoryboard(name: "iPad", bundle: nil)
} else {
storyBoard = UIStoryboard(name: "Main", bundle: nil)
}
let tabVc = self.window?.rootViewController as! UITabBarController
let mynVC = storyBoard.instantiateViewController(withIdentifier: "nav") as! UINavigationController
let calcVc = storyBoard.instantiateViewController(withIdentifier: "destVc")
tabVc.viewControllers = [mynVC]
tabVc.selectedViewController = mynVC
根据下面的内容,您可能还需要调用 window.setKeyAndVisible() 才能实际显示