2017-01-19 10 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 
} 

に思えますファイル、および一緒にナビゲーションコントローラとタブバーコントローラを一緒に使用する方法を知らない前に、感謝します。

+0

を使用して解決しましたか? – Vive

答えて

1

はプログラム的OR XIBに続いて

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

' navigationController = UINavigationController(rootViewController:viewController) 'の下に' navigationController.navigationBar.translucent = false'を追加しようとしました。 in appDelegate。まだ動作しません –

1

あなたはこの

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

を試みることができるが、それがお役に立てば幸いです。

関連する問題