隐藏状态栏在某些视图控制器*具体*
问题描述:
我有一个非常具体的问题关于隐藏状态栏。 我整合了下面的代码,很容易在每个视图控制器上获得一个状态栏,但我有一个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
}
但没有这似乎工作。我是编程和堆栈溢出的新手,请帮助我。我试图寻找答案,但似乎无法找到解决这个难题的答案。您的帮助将非常感谢!谢谢。
答
它的作品完美。
Objective-C的
-(BOOL)prefersStatusBarHidden{
return YES;
}
斯威夫特
override var prefersStatusBarHidden: Bool {
return true
}
你也应该使用的info.plist
“查看基于控制器的状态栏外观” 设置为NO
“状态栏最初是隐藏的” 设置为YES
答
可以应用下面的代码在CameraVC:
override var prefersStatusBarHidden: Bool {
return true
}
是有application.statusBarstyle = .lightcontent在 “AppDelegate中” 造成这个问题?因为状态栏仍在CameraViewController中。我有“查看基于控制器的状态栏外观”已设置为否。当我将“状态栏最初隐藏”设置为YES时,我在其他视图控制器上丢失了所有状态栏。 –
“statusBarStyle”已弃用:IOS 9.0 @KennyHo –
因此,根据我的理解,您使用Swift的方式,您必须为所有视图控制器编写该代码。有没有办法做一些类似于statusBarStyle的东西,它会自动为我的所有视图控制器添加一个状态栏?然后,我只需摆脱CameraVC的一个状态栏。 –