2017-07-31 26 views
0

私は残りのAPIのプッシュ通知をテストする簡単なアプリを持っています。私はアプリケーション内のナビゲーションバーを表示したいが、それは動作していません。ストーリーボードでSwift 3 - ナビゲーションバーが表示されないのはなぜですか?

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 
    self.registerForPushNotifications() 
    let url = "dev" 
    UserDefaults.standard.setValue(FFHelper.url(slug: url.slug()), forKey: "api-url") 
    var vcString = "loginView" 
    if KeychainSwift().get("auth-token") != nil { 
     vcString = "notificationsTable" 
    } 
    let initialVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: vcString) 
    initialVC.navigationController?.navigationBar.isHidden = false 
    initialVC.navigationController?.setNavigationBarHidden(false, animated: true) 
    window?.rootViewController = initialVC 
    window?.makeKeyAndVisible() 
    return true 
} 

ナビゲーションバーも有効になっている: enter image description here 最後には、のViewControllerに、私は同じことを実行します。

override func viewWillAppear(_ animated: Bool) { 
    self.navigationController?.setNavigationBarHidden(false, animated: animated) 
    self.navigationController?.navigationBar.isHidden = false 
    super.viewWillAppear(animated) 
} 

しかし、まだ私のAppDelegateで、私は次のコードを持っていますアプリを起動した後、ナビゲーションバーが表示されない: enter image description here 誰かがなぜこれが私に教えてくれますか?

+1

このストーリーボードide ntifier ** var vcString = "loginView" **はnavigationControllerまたはViewControllerに設定されていますか? – Surjeet

+0

どのように愚かな私は...ヒントのためにありがとうございました。それはすでに私の愚かさを指摘するのに十分です:) – Thomson

答えて

1

あなたは、vcStringがあなたのLoginVCある

を示しているあなたは、あなたがショー

let initialVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: vcString) 

    let navi = UINavigationController.init(rootViewController: initialVC) 

window?.rootViewController = navi 
NavigationControlerにembdedする必要が loginViewまたは

ようNavigationController識別子を使用する必要があります

関連する問題