2017-01-19 24 views
0

我想創建導航欄,但什麼也沒發生如何以編程方式添加導航控制器,我使用XIB文件迅速

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 
    let viewController = DummyViewController(nibName: nil, bundle: nil) 
    let navigationController = UINavigationController(rootViewController: viewController) 

    self.window = UIWindow(frame: UIScreen.main.bounds) 
    self.window?.rootViewController = navigationController 
    self.window?.makeKeyAndVisible() 

    let tabBarController = UITabBarController() 
    let tabViewController1 = DummyViewController(
     nibName: "DummyViewController", 
     bundle: nil) 
    let tabViewController2 = SearchViewController(
     nibName:"SearchViewController", 
     bundle: nil) 

    tabViewController1.tabBarItem = UITabBarItem(
     title: "Location", 
     image: UIImage(named: "ic_location_blue"), 
     tag: 1) 
    tabViewController2.tabBarItem = UITabBarItem(
     title: "Search", 
     image:UIImage(named: "ic_search_blue") , 
     tag:2) 


    let controllers = [tabViewController1,tabViewController2] 
    tabBarController.viewControllers = controllers 
    window?.rootViewController = tabBarController 

    return true 
} 

似乎因爲我添加self.window?.rootViewController = navigationControllerwindow?.rootViewController = tabBarController

我使用的廈門國際銀行文件,並不知道如何使用標籤欄控制器與導航控制器在一起,謝謝。

+0

然後通過程序或在廈門國際銀行解決了嗎? – Vive

回答

1

使用

let FirstViewController: HomeViewController = HomeViewController(nibName: "HomeViewController", bundle: nil) 
    let navigationBarFirst = UINavigationController(rootViewController: FirstViewController) 

    let SecondViewController: SearchViewController = SearchViewController(nibName: "SearchViewController", bundle: nil) 
    let navigationBarSecond = UINavigationController(rootViewController: SecondViewController) 

    let ThirdViewController: InformationViewController = InformationViewController(nibName: "InformationViewController", bundle: nil) 
    let navigationBarThird = UINavigationController(rootViewController: ThirdViewController) 

    let FourthViewController: FavoritesViewController = FavoritesViewController(nibName: "FavoritesViewController", bundle: nil) 
    let navigationBarFourth = UINavigationController(rootViewController: FourthViewController) 

    let FifthViewController: MenuViewController = MenuViewController(nibName: "MenuViewController", bundle: nil) 
    let navigationBarFifth = UINavigationController(rootViewController: FifthViewController) 

    let tabBarController = UITabBarController() 

    let controllers = [navigationBarFirst, navigationBarSecond, navigationBarThird, navigationBarFourth, navigationBarFifth] 
0

您正在編寫nil作爲筆尖名稱。輸入筆尖名稱如下: -

let viewController = DummyViewController(nibName: "DummyViewController", bundle: nil) 
+0

仍然不起作用 –

+0

嘗試添加此行: - 'navigationController.navigationBar.translucent = false' – pkc456

+0

我嘗試在'let navigationController = UINavigationController(rootViewController:viewController)下添加'navigationController.navigationBar.translucent = false''在appDelegate。仍然不起作用 –

1

你可以試試這個

let viewController = DummyViewController(nibName: nil, bundle: nil) 
let navigationController = UINavigationController() 
navigationController.viewControllers = [viewController!] 
self.window!.rootViewController = navigationController 
self.window?.makeKeyAndVisible() 

希望它能幫助。

相關問題