UIImagePickerController.frame不是全屏

Tsi*_*mmi 1 iphone cocoa-touch uikit uiimagepickercontroller

我正在初始化一个像这样的UIImagePickerController:

    self.cameraController = [[UIImagePickerController alloc] init];

    self.cameraController.sourceType = UIImagePickerControllerSourceTypeCamera; 
    self.cameraController.showsCameraControls = NO;
    self.cameraController.navigationBarHidden = YES;
    self.cameraController.wantsFullScreenLayout = YES;
Run Code Online (Sandbox Code Playgroud)

问题是,当显示它时,而不是相机控件,我得到一个黑色的条形.

如何让UIImagePickerController.frame占用所有屏幕空间?

谢谢!

Ole*_*ann 5

iPhone的相机宽高比为4:3,而iPhone的屏幕宽高比为3:2.因此,实时摄像机图像不会覆盖整个屏幕.如果要摆脱黑条,则必须将小缩放变换(例如110%)应用于摄像机视图.

  • 不是硬编码特定的比例因子,而是使用比率的比率.(屏幕宽高比)/(图像宽高比)=缩放4:3相机图像以适应3:2屏幕的比例因子.(当然,不要对照片或屏幕宽高比进行硬编码 - 获取图像和屏幕尺寸,并为每个尺寸划分宽度.) (5认同)