Looking through all the solutions given to similar questions, I have been trying to get the statusBar
to show/hide with a tap gesture.
I have set View controller-based status bar appearance = NO
in the plist.
I have tried the following code in my DataViewController
(page view controller) AND in the RootViewController
:
let app = UIApplication.sharedApplication()
app.setStatusBarHidden(true, withAnimation: UIStatusBarAnimation.Fade)
and it doesn't work.
This is embedded in a UITabBarController
, would that make a difference?
Also, I was able to get the following to hide the statusBar from the RootViewController
:
override func prefersStatusBarHidden() -> Bool {
return true
}
But the DataViewController
does not even call this function, and was only able to hide it permanently this way, rather than toggle it on/off.
Any ideas?
I have tried it in code, everything works fine for me. Make sure that the View controller-based status bar appearance
is Set to NO . And there is no needs to override prefersStatusBarHidden()
.
if you using UIPageViewController
then you should use this code in the RootViewController
if you have a navigationController
it will hide it too
on ViewDidLoad()
self.navigationController?.hidesBarsOnTap = true
and use this method to hide or show the status Bar based on if the navigationBar
is hidden or not
override func prefersStatusBarHidden() -> Bool {
if self.navigationController?.navigationBarHidden == true {
return true
}
else
{
return false
}
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.