Jak ustawić niestandardowy obraz tła dla dużego tytułu nawigacyjnego w systemie iOS 11? Używam niestandardowej podklasy, która została przypisana do navigationControllers w scenorysie.Niestandardowy obraz tła z dużymi tytułami NawigacjaBar w systemie iOS 11
ten sposób tworzę własny NavBar:
class CustomNavigationController: UINavigationController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.navigationBar.tintColor = UIColor(red:1, green:1, blue:1, alpha:0.6)
self.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.white]
if #available(iOS 11.0, *) {
self.navigationBar.prefersLargeTitles = true
self.navigationItem.largeTitleDisplayMode = .automatic
self.navigationBar.largeTitleTextAttributes = [NSForegroundColorAttributeName: UIColor.white]
self.navigationBar.barTintColor = UIColor.green
}
self.navigationBar.isTranslucent = false
self.navigationBar.setBackgroundImage(#imageLiteral(resourceName: "navigationBarBackground"), for: .default)
self.navigationBar.shadowImage = #imageLiteral(resourceName: "navigationBarShadow")
}
}
Dziwnie setBackgroundImage(image, for: .default)
nie działa dla dużych tytułów. To zadziałało wcześniej w systemie iOS 10, a także, jeśli obrócę iPhone'a (i aktywuję mały NavBar), wróci tło?
Edytuj: Nadal jest renderowany, ale jakoś ukryty. Tylko jeśli zaczniesz przewijać i pojawi się "normalny" pasek nawigacji, obraz tła będzie widoczny. Również w tym przypadku barTintColor
jest całkowicie ignorowany.
hi @alexkaessner. czy znalazłeś jakieś rozwiązanie problemu? – Tann
@OceanBlue Nie! :/Właśnie sprawdziłem nowy NavBar. Wygląda na to, że prezentowany duży układ jest zupełnie inny, ale ten widok się nie zmienia. – alexkaessner
można ustawić kolor tła paska nawigacyjnego lub bartintcolor. ale niestety nie mogę ustawić obrazu tła paska nawigacyjnego. Czy to błąd ios 11? Czy wiesz coś ...? – Tann