2017-09-17 13 views
-1

私はこれをすべて朝起きてみます。私のビューにナビゲーションボタンがない理由が分かりません...メインビューにバックアップするには?ナビゲーションバーが表示されない

誰でも私に説明できますか?

import UIKit 
    class LiveStockList: UIViewController { 
     override func viewDidLoad() { 
      super.viewDidLoad() 
      view.backgroundColor = UIColor.white 

      let barButtonItem = UIBarButtonItem(title: "back!", style: .plain, target: self, action: #selector(backToViewController)) 
      self.navigationItem.rightBarButtonItem = barButtonItem 
     } 


     func backToViewController(_ : Any) { 
      let viewController = ViewController() 
      let navController = UINavigationController (rootViewController: viewController) 
      present(navController, animated: true, completion: nil) 

     } 

} 
+0

あなたはストーリーボードを使用していますか? – 3stud1ant3

+0

Nop。私はプログラムでこれをやろうとしています。 – Melcu

+0

AppDelegate.swiftファイルコード – 3stud1ant3

答えて

0

ここでは誤解を招くことがいくつかあります。

ViewControllerは、現在のListStockList ViewControllerを表示したものですか?

この場合は、present(_:)メソッドを呼び出すのではなく、dismiss(_:completion)メソッドを呼び出します。

UINavigationBarが表示されない場合は、いくつか確認する必要があります。

ViewController (parent)NavigationControllerの場合は、push(:_ViewController)メソッドを呼び出すだけで、navBarが表示されるはずです。

あなたがそれを提示する前にNavigationControllerでそれを埋め込む必要がLiveStockListを提示したときに、親ViewControllerは、その後NavigationControllerに埋め込まれていない場合。このような

何か:

let liveStockList = LiveStockList() 
let navController = UINavigationController(rootViewController: liveStockList) 
present(navController, animated: true, completion: nil) 

次に、あなたのLiveStockListにあなたが期待通りnavigationBarを見ることができるはずです。

そうしないと、別のことが起こった可能性があります。追加情報が必要な場合があります。

0

あなたの質問によると、なぜ私のビューにナビゲーションボタンがないのかわかりません...メインビューにバックアップすることです。

新しいナビゲーションコントローラを表示しているため、メインビューでバックアップするナビゲーションボタンが表示されません。

既存のナビゲーションコントローラからビューコントローラをプッシュするだけで済みます。

私は、コードの例があります。

let vc = UIViewController() self.navigationController?.pushViewController(vc, animated: true)

既存のビューコントローラがUINavigationControllerに埋め込むされている場合、それは動作します。

コントローラを表示したい場合は、UIBarButtonItemをナビゲーションコントローラに追加し、そのUIBarButtonItemの動作時にView Controllerを「表示」する必要があります。

質問があればお知らせください、ありがとうございます。

-1

私は間違った場所を探していました。 ViewControllerには、LiveStockList Controllerを起動するボタンがあります。
コントローラを起動するだけで仕事をしていて、移行しました。

コード:

func meniu1ButtonPressed() { 

    let liveStockList = LiveStockList() 
    present(liveStockList, animated: true, completion: nil) 

} 

私はその機能に新しい行を追加した後、それは次のようになります。

func meniu1ButtonPressed() { 

    let liveStockList = LiveStockList() 
    let navController = UINavigationController(rootViewController: liveStockList) 
    present(navController, animated: true, completion: nil) 

} 

...それが今取り組んでいます。それは私に戻るボタンを表示し、ViewControllerを再度ロードしています。

関連する問題