2017-09-06 84 views
0

我有一個非常具體的問題關於隱藏狀態欄。 我整合了下面的代碼,很容易在每個視圖控制器上獲得一個狀態欄,但我有一個cameraViewcontroller,我不想要一個狀態欄。我試圖隱藏狀態欄。隱藏狀態欄在某些視圖控制器*具體*

//change the statusbar color for all view controllers 
    application.statusBarStyle = .lightContent 

我嘗試使用

override var prefersStatusBarHidden: Bool { 
    return true 
} 

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 

    UIApplication.shared.isStatusBarHidden = true 

    return true 
} 

但沒有這似乎工作。我是編程和堆棧溢出的新手,請幫助我。我試圖尋找答案,但似乎無法找到解決這個難題的答案。您的幫助將非常感謝!謝謝。

回答

0

它的作品完美。

Objective-C的

-(BOOL)prefersStatusBarHidden{ 
    return YES; 
} 

斯威夫特

override var prefersStatusBarHidden: Bool { 
     return true 
} 

你也應該使用的info.plist

「查看基於控制器的狀態欄外觀」 設置爲NO

「狀態欄最初是隱藏的」 設置爲YES

+0

是有application.statusBarstyle = .lightcontent在 「AppDelegate中」 造成這個問題?因爲狀態欄仍在CameraViewController中。我有「查看基於控制器的狀態欄外觀」已設置爲否。當我將「狀態欄最初隱藏」設置爲YES時,我在其他視圖控制器上丟失了所有狀態欄。 –

+0

「statusBarStyle」已棄用:IOS 9.0 @KennyHo –

+0

因此,根據我的理解,您使用Swift的方式,您必須爲所有視圖控制器編寫該代碼。有沒有辦法做一些類似於statusBarStyle的東西,它會自動爲我的所有視圖控制器添加一個狀態欄?然後,我只需擺脫CameraVC的一個狀態欄。 –

0

可以應用下面的代碼在CameraVC:

override var prefersStatusBarHidden: Bool { 
    return true 
} 
相關問題