[英]How do I make the iPhone status bar transparent in Swift?
Swift 3:對於整個應用程序:
在您的AppDelegate
的didFinishLaunchingWithOptions
方法中執行此操作,而不是隱藏導航欄:
// Sets navigationBar's background to a blank/empty image
UINavigationBar.appearance().setBackgroundImage(UIImage(),
for: .default)
// Sets shadow (line below the bar) to a blank image
UINavigationBar.appearance().shadowImage = UIImage()
UINavigationBar.appearance().isTranslucent = true
編輯:在您的View控制器中隱藏一個特定View控制器的navigationBar
的操作如下:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
let navigationBar = self.navigationController?.navigationBar
navigationBar?.setBackgroundImage(UIImage(), for: .default)
navigationBar?.shadowImage = UIImage()
navigationBar?.isTranslucent = true
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
let navigationBar = self.navigationController?.navigationBar
navigationBar?.shadowImage = nil
navigationBar?.setBackgroundImage(nil, for: .default)
navigationBar?.isTranslucent = false
}
使得之后navigationBar
透明,您需要在設置imageView
頂級制約topLayoutGuid
= 0
如果您還想隱藏一個viewController
statusBar
,也可以將其放在所需的viewController中:
override var prefersStatusBarHidden: Bool {
return true
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.