2016-11-09 43 views
0
let pageTabBarController = AppPageTabBarController(viewControllers: [redViewController, greenViewController, blueViewController], selectedIndex: 0) 
     let toolbarController = AppToolbarController(rootViewController: pageTabBarController) 
     let menuController = AppMenuController(rootViewController: toolbarController) 

     window = UIWindow(frame: Device.bounds) 
     window!.rootViewController = menuController 
     window!.makeKeyAndVisible() 

回答

0

在這種stackoverflow question添加對導航控制更深入的瞭解。您可能會發現它很有幫助。要直接回答你的問題,你正在尋找一個代碼設置,看起來像這樣:

import UIKit 
import Material 

@UIApplicationMain 
class AppDelegate: UIResponder, UIApplicationDelegate { 

var window: UIWindow? 

func applicationDidFinishLaunching(_ application: UIApplication) { 
    let redViewController = RedViewController() 
    let greenViewController = GreenViewController() 
    let blueViewController = BlueViewController() 

    let pageTabBarController = AppPageTabBarController(viewControllers: [redViewController, greenViewController, blueViewController], selectedIndex: 0) 
    let toolbarController = AppToolbarController(rootViewController: pageTabBarController) 
    let menuController = AppMenuController(rootViewController: toolbarController) 

    let leftViewController = LeftViewController() 
    let rightViewController = RightViewController() 

    let navigationDrawerController = NavigationDrawerController(rootViewController: menuController, 
                   leftViewController: leftViewController, 
                   rightViewController: rightViewController) 

    window = UIWindow(frame: Device.bounds) 
    window!.rootViewController = navigationDrawerController 
    window!.makeKeyAndVisible() 
} 
} 

的基本想法是,你在彼此頂部堆疊的導航控制器(具有特定的導航功能控制器)層。您可以輕鬆地重新排列控制器以創建不同的流程,並且可以輕鬆添加更多導航控制器,如SnackbarController。

堆疊視圖控制器的順序取決於您希望導航控制器的行爲方式。例如,如果您將MenuController放在ToolbarController中,則在您轉換ToolbarController的rootViewController後,它將轉換出來。通過將它放置在外部,您可以轉換ToolbarController,並且MenuController保留在視圖層次結構中。

要注意的一個規則是,您應始終將NavigationDrawerController放置爲最外面的導航控件,因爲leftright控制器應始終與所有其他控件重疊。

希望能幫到:)

-1
let pageTabBarController = AppPageTabBarController(viewControllers: [redViewController, greenViewController, blueViewController], selectedIndex: 0) 
     let toolbarController = AppToolbarController(rootViewController: pageTabBarController) 
     let menuController = AppMenuController(rootViewController: toolbarController) 
     let navigationController = AppNavigationDrawerController(rootViewController: menuController, leftViewController: leftViewController,rightViewController: rightViewController) 

    window = UIWindow(frame: Device.bounds) 
    window!.rootViewController = navigationController 
    window!.makeKeyAndVisible() 
相關問題