当我从相机上传图像到我的imageview图像成功上传,但我的状态栏变成隐藏。我是iOS新手。请帮助。任何我在app委托中设置的。它们隐藏了我的状态栏。如有任何帮助,不胜感激。
[application setStatusBarStyle:UIStatusBarStyleLightContent];
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];
and i m setting in info.plist
View controller-based status bar appearance NO
-(IBAction)choosePicture:(id)sender
{
imagePicker=[[UIImagePickerController alloc]init];
imagePicker.sourceType=UIImagePickerControllerSourceTypePhotoLibrary;
imagePicker.delegate=self;
[self presentViewController:imagePicker animated:YES completion:nil];
}
-(IBAction)takePicture:(id)sender
{
imagePicker=[[UIImagePickerController alloc]init];
imagePicker.sourceType=UIImagePickerControllerSourceTypeCamera;
imagePicker.delegate = self;
[self presentViewController:imagePicker animated:YES completion:nil];
}
-(void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary*)info
{
pickedImage=[info objectForKey:UIImagePickerControllerOriginalImage];
[self performSelectorInBackground:@selector(saveImage:) withObject:nil];
image.image=pickedImage;
pickedImage = [self compressImage:pickedImage];
pickedImageData=UIImageJPEGRepresentation(pickedImage,0.9);
[self dismissViewControllerAnimated:YES completion:nil];
}
-(void)navigationController:(UINavigationController *)navigationController
willShowViewController:(UIViewController *)viewController
animated:(BOOL)animated
{
[[UIApplication sharedApplication] setStatusBarHidden:YES];
}
-(BOOL)prefersStatusBarHidden // also do this for iOS 8
{
return YES;
}
不确定你说的是哪个iOS版本。我在iOS 8.3中遇到过这个问题,我是这样解决的,在viewWillAppear方法中:
- (void)viewWillAppear:(BOOL)animated {
[[UIApplication sharedApplication] setStatusBarHidden:NO];
}
添加上面的代码,看看问题是否解决了
您的问题是以下代码:
-(void)navigationController:(UINavigationController *)navigationController
willShowViewController:(UIViewController *)viewController
animated:(BOOL)animated
{
[[UIApplication sharedApplication] setStatusBarHidden:YES];
}
这个函数将在导航弹出或推送,或呈现或解散视图控制器时被调用。应该像这样检查
-(void)navigationController:(UINavigationController *)navigationController
willShowViewController:(UIViewController *)viewController
animated:(BOOL)animated
{
if ([viewController isKindOfClass:[UIImagePickerViewController class]])
{
[[UIApplication sharedApplication] setStatusBarHidden:YES];
}
else
{
[[UIApplication sharedApplication] setStatusBarHidden:NO];
}
}