This is a rather unique question. I have searched for hours and could not find the answer. I want ALL UIViewControllers
in my app to have the UIStatusBar
visible. But on a certain UIViewController
, when you tap a UIButton
, the following method calls the camera modalView controller. I want to hide the status bar when the following method is called:
-(BOOL)startCameraControllerFromViewController:(UIViewController*)controller
usingDelegate:(id )delegate
I have tried changing the plist file with UIViewController
based status bar = YES (I only want the UIStatusBar
hidden when that modal view is pulled up)
I have also tried the following within the above method:
[[UIApplication sharedApplication] setStatusBarHidden:YES
withAnimation:UIStatusBarAnimationNone];
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
[[UIApplication sharedApplication] setStatusBarHidden:YES
withAnimation:UIStatusBarAnimationNone];
Nothing seems to work. Can anyone help?
To completely hide it on the home screen, open up an app, such as Settings, and wait about three to four seconds. Press the home button again, and the status bar will be completely gone.
Implement this method in your View Controller,
-(BOOL)prefersStatusBarHidden
{
return YES;
}
and call this method where you want,
[self prefersStatusBarHidden];
Solved it by subclassing the UIImagePickerController and just adding this to the .m file:
- (BOOL)prefersStatusBarHidden {
return YES;
}
then importing it to the class that uses the picker, and instead of initializing the imagepicker i initialize the subclass.
NOTE: make sure View controller-based status bar appearance is set to YES in your plist file.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With