ios - 关闭 UIImagePickerController 破坏了父 viewController 的框架大小 - iOS 8

标签 ios objective-c uiimagepickercontroller

当我关闭媒体类型为 kUTTypeMovie 的 UIImagePickerController(模态呈现)时 - 在 iOS 8 上,它打破了父 viewController 的框架大小 20px(状态栏高度)。在 iOS 7 上一切正常。

呈现选择器代码:

UIImagePickerController* picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
picker.cameraDevice = UIImagePickerControllerCameraDeviceFront;
picker.mediaTypes = @[(NSString*)kUTTypeMovie];
[self.navigationController presentViewController:picker animated:YES completion:nil];

隐藏选择器代码:

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
    [picker dismissViewControllerAnimated:NO completion:^
    {
    }];
}

项目使用 Storyboard,我使用的是 xCode 6.1

最佳答案

您需要在 View 中隐藏状态栏,并且您使用以下代码调用 imagepicker 的类的 ViewDidLoad 将出现。

    dispatch_async(dispatch_get_main_queue(), ^{
    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];

});

您还需要设置状态栏以显示在 ViewDidAppear 中:

    dispatch_async(dispatch_get_main_queue(), ^{
    [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];

});

关于ios - 关闭 UIImagePickerController 破坏了父 viewController 的框架大小 - iOS 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29306623/

相关文章:

iphone - 在 UIActionSheet 中,iPhone 没有显示取消按钮?

ios - 如何启用苹果应用商店中的应用程序以在浏览器上查看?

ios - 从核心数据数据库检索数据的替代方法 - ios

ios - Storyboard不包含带有标识符的 View Controller ......使用多个 Storyboard文件时

ios - 如何将选定的图像从 UIImagePicker 传递到 UIViewController

iphone - writeToFile 不适用于内部有 UIImagePickerControllerReferenceURL 的 NSDictionary

ios - Apple Watch 应用程序的 Xcode 7 安装从未完成

objective-c - 从 Today 扩展应用程序发送系统事件

iPhone 应用程序横向模式不起作用

objective-c - 以编程方式显示相机快门?