Dia*_*Dia 3 uinavigationcontroller ios swift
我有多个导航控制器。它们的放置方式如下:
(A)SWRevealViewController
(B)Navigation Controller(sw_front)
(C)HomeViewController (root view controller)
(D)TabBarController -->
(E)Navigation Controller 1-->
(F)TableController 1 -->
(F)TableController 2.
(E)Navigation Controller 2-->
(F)TableController 1 -->
(F)TableController 2.
Run Code Online (Sandbox Code Playgroud)
我想弹出到主导航控制器的根视图控制器,即我想从 F 转到 C 或 B。我参考了这个答案,并将其转换为 swift 如下:
let appdel: AppDelegate = UIApplication.shared.delegate as! AppDelegate
let mainwindow : UIWindow = appdel.window!
let vcObj : HomeViewController = HomeViewController()
let navObj : UINavigationController = UINavigationController(rootViewController: vcObj)
mainwindow.rootViewController = navObj
Run Code Online (Sandbox Code Playgroud)
但它只显示一个空白的黑屏。请任何人都可以帮忙。
我正在使用 Xcode 8 和 Swift 3。
而不是推动你tabBarVCusing sw.pushFrontViewController(VC, animated: true)try usingnavigationController的 push 方法,
self.navigationController?.pushViewController(tabBarVC!, animated: true)
Run Code Online (Sandbox Code Playgroud)
然后从 TableController 调用以下转到HomeViewController,
func goToHomeNavVC(){
//parent is TabBar Controller
self.parent?.navigationController?.popToRootViewController(animated: true)
}
Run Code Online (Sandbox Code Playgroud)
这是一个演示
| 归档时间: |
|
| 查看次数: |
3721 次 |
| 最近记录: |