Ich habe Standardeinstellung für UINavigationBar:iOS 11 Navigationsleiste transparent mit großen Titeln
UINavigationBar.appearance().barTintColor = .red
UINavigationBar.appearance().titleTextAttributes = [ NSAttributedStringKey.foregroundColor:#colorLiteral(red: 1, green: 0.99997437, blue: 0.9999912977, alpha: 1)]
if #available(iOS 11.0, *) {
UINavigationBar.appearance().largeTitleTextAttributes = [ NSAttributedStringKey.foregroundColor:#colorLiteral(red: 1, green: 0.99997437, blue: 0.9999912977, alpha: 1)]
}
UINavigationBar.appearance().isTranslucent = false
UINavigationBar.appearance().tintColor = #colorLiteral(red: 1, green: 0.99997437, blue: 0.9999912977, alpha: 1)
Struktur: UINaviagtionController -> PostsTableViewController -> PostTableViewController.
Ich möchte eine große Navigationsleiste auf PostsViewController (mit undurchsichtiger Hintergrundfarbe) und transparente Navigationsleiste auf PostViewController haben.
In PostTableViewController ich hinzufügen:
self.navigationController?.navigationBar.backgroundColor = UIColor.clear
self.navigationController?.navigationBar.barTintColor = .clear
self.automaticallyAdjustsScrollViewInsets = false
//self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)
//self.navigationController?.navigationBar.shadowImage = UIImage()
if #available(iOS 11.0, *) {
print("asd")
self.tableView.insetsContentViewsToSafeArea = false
self.tableView.contentInsetAdjustmentBehavior = .never
} else {
self.automaticallyAdjustsScrollViewInsets = false
}
Navigationsleiste BLACK ist. Ich verstehe nicht, wie es transparent machen ...
UPDATE:
git-Repository-Hub: https://github.com/Mazorati/testnavbar
i gesetzt isTranslucent = true, aber große Navigation wird auch transparent. Nur die Standardnavigation ist in Ordnung.
Aber ich möchte navigationbar Farbe undurchsichtig sein, also:
self.navigationController?.view.backgroundColor = .red
self.navigationController?.navigationBar.isTranslucent = false
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.prefersLargeTitles = true
self.navigationItem.largeTitleDisplayMode = .automatic
Als Ergebnis:
3D-Ebene:
Haben Sie das versucht? https://stackoverflow.com/a/33106533/1214800 – brandonscript
Das hat nichts mit meiner Frage zu tun. Ich benutze push segue – Mazorati
Ist egal. Gleicher Ansichtsstapel, unterschiedlicher Übergang. Hast Du es versucht? – brandonscript