我知道几年前有关于这个主题的问题,但我认为他们的解决方案已经过时和/或我无法让他们工作。我尝试了所有 info.plist 更改等。
我正在使用 UIImagePickerController。拍照后,预览图像(带有重拍和使用照片选项)向下跳动约 20 像素。它似乎占据了 mediaTypes 工具栏区域。
关于如何防止图像移动的任何建议?这是相关代码(非常基本)
- (IBAction)takePhoto:(UIButton *)sender {
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
[picker prefersStatusBarHidden];
[self presentViewController:picker animated:YES completion:NULL];
}
- (BOOL)prefersStatusBarHidden {
return YES;
}
最佳答案
在尝试了很多不起作用的配置之后,我采用了一种简单的方法,并使用变换将相机 View 强制向下移动了与预览图像移动相同的像素数,即
picker.cameraViewTransform = CGAffineTransformTranslate(picker.cameraViewTransform, 0.0, 30.0);
整个方法:
- (IBAction)takePhoto:(UIButton *)sender {
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
picker.cameraDevice = UIImagePickerControllerCameraDeviceFront;
picker.cameraViewTransform = CGAffineTransformTranslate(picker.cameraViewTransform, 0.0, 30.0);
[self presentViewController:picker animated:YES completion:NULL];
}
关于ios - UIImagePickerController 预览图片下移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28358910/