1

このコードが機能しない理由を説明できません。何らかの理由でナビゲーションバーが半透明で、tableViewの内容がその上をスクロールしています。 背景色が表示されていないと、テーブルが下に行く:ナビゲーションバーが表示されないTableView

ここにここに

let outlineViewController = OutlineTableviewController() 
     outlineViewController.pdfOutlineRoot = pdfoutline 
     outlineViewController.delegate = self 

     let nav = UINavigationController(rootViewController: outlineViewController) 
     self.present(nav, animated: true, completion:nil) 

はのtableView

super.viewDidLoad() 

    let newBackButton = UIBarButtonItem(title: "Cancel", style: UIBarButtonItemStyle.plain, target: self, action: #selector(dismissView)) 

    self.navigationItem.rightBarButtonItem = newBackButton 

    navigationController?.navigationBar.backgroundColor = UIColor(red:0.00, green:0.51, blue:0.78, alpha:1.0) 


    self.tableView.dataSource = self 
    self.tableView.delegate = self 

    tableView?.register(UINib(nibName: "OutlineTableViewCell", bundle: nil), 
         forCellReuseIdentifier: "OutlineTableViewCell") 
} 

と、ここでのコードでボタンのコードがあるが、結果ですナビゲーションバー。

私には何が欠けていますか?

enter image description here

+1

私はあなたのコードを試してみましたが、それが正常に動作します。私は問題が別の場所にあると思う。あなたはどこにでもナビゲーションバーの背景を設定しましたか? – trungduc

答えて

0

お返事をおtrungducありがとうございます。

問題が何であるか把握しようとした結果、私は最終的にルートビューの色を変えることでこの問題を解決することができました。

 let nav = UINavigationController(rootViewController: oulineViewController) 
     nav.navigationBar.backgroundColor = UIColor(red:0.00, green:0.51, blue:0.78, alpha:1.0) 
     self.present(nav, animated: true, completion:nil) 
0

あなたの質問に「半透明」と言われました。

同じ問題がありました:ナビゲーションバーがストーリーボードのルートビューに表示されていましたが、シミュレータを実行しているときにビューの上部にナビゲーションバーがありませんでした。これで解決しました:

ナビゲーションコントローラ>ナビゲーションバー> UNCHECK半透明(デフォルトでチェックされています)。これは2つのことを行いました:

  1. マイナビゲーションバーはすべての後続のビューに表示されます。
  2. 最上部のサブビュー(あなたの場合のテーブルビュー)はY = 0になり、Y = 64にはなりません。

enter image description here

+0

同じ回答を何度も投稿しないでください。良い質問でそれを*一度*投稿し、他の質問に "重複"としてフラグを立てる*。ありがとう。 – Moritz

関連する問題