時,我有一個UITabBarController()
,我使用,並指定在AppDelegate
:iOS10:隱藏狀態欄使用的UITabBarController()
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
showTabBar()
return true
}
func showTabBar() {
let tabBarVC = TabBarVC()
if let window = self.window {
window.rootViewController = tabBarVC
}
}
我有以下關鍵是info.plist
:
在我的Target
下General
,我有以下設置:
我用下面的代碼在我的標籤隱藏狀態欄的一個:
class ViewController: UIViewController {
var statusBarShouldBeHidden = false
override func viewDidLoad() {
super.viewDidLoad()
}
override var prefersStatusBarHidden: Bool {
return statusBarShouldBeHidden
}
override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation {
return .slide
}
@IBAction func buttonHideShowStatusBarTapped(_ sender: UIButton) {
statusBarShouldBeHidden = !statusBarShouldBeHidden
UIView.animate(withDuration: 0.25) {
self.setNeedsStatusBarAppearanceUpdate()
print("animating")
}
}
}
當按鈕被竊聽,「動畫」在日誌中打印;但是,狀態欄不會隱藏。
我不確定這是否與UITabBarController()
有關,但上面的代碼似乎在沒有它的項目中正常工作。
如何在使用UITabBarController()
時隱藏iOS10中的狀態欄?