【发布时间】:2015-04-06 18:38:31
【问题描述】:
当我使用媒体类型 kUTTypeMovie 关闭 UIImagePickerController(以模态方式呈现)时 - 在 iOS 8 上,它会将父 viewController 的帧大小打破 20 像素(状态栏高度)。在 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:^
{
}];
}
项目使用故事板,我使用的是 xCode 6.1
【问题讨论】:
-
你在使用自动布局/约束吗?你在使用 UINavigationBar 吗?如果以编程方式更新框架,您是否将相关视图的 translatesautoresizingmaskintoconstraints 设置为 false?我没有一个很好的明确答案,但如果我遇到这个问题,我可能会调查这些事情(以及来 Stack Overflow 寻求帮助:))不要忘记对下面的任何答案进行投票帮助,并确保接受之后实际解决您问题的答案。这就是人们在这里赢得声誉的方式,您也将参与其中。
-
@1sand0s 好答案:D
-
@1s 和 0s 感谢您的回答 :-) 是的,我在那里使用 UINavigationBar,但我没有以编程方式更新我的视图控制器的框架。关闭选择器后只是大小错误,当我显示此选择器并将 mediaTypes 设置为 kUTTypeImage 时没有问题
标签: ios objective-c uiimagepickercontroller