[英]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.