如何爲iOS 11中的大標題NavigationBar設置自定義背景圖像?我正在使用我已經分配給storyboard中的navigationControllers的自定義子類。大標題的自定義背景圖像iOS 11中的NavigationBar 11
這是我如何創建我的自定義的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")
}
}
奇怪的setBackgroundImage(image, for: .default)
沒有爲大標題的工作。它適用於iOS 10之前,如果我旋轉iPhone(並激活小NavBar)背景又回來了嗎?
編輯: backgroundImage
仍然呈現,但以某種方式隱藏。只有當您開始滾動並且出現「正常」導航欄時,backgroundImage纔可見。在這種情況下,barTintColor
也完全被忽略。
hi @alexkaessner。你有沒有找到解決問題的辦法..? – Tann
@OceanBlue不! :/我剛剛檢查了一下新的NavBar。似乎對於顯示的大布局有一個完全不同的觀點,但這種觀點不會改變。 – alexkaessner
可以設置導航欄背景顏色或bartintcolor。但不幸的是我無法設置導航欄背景圖片。這是ios 11的錯誤嗎?你知道什麼嗎..? – Tann