相关疑难解决方法(0)

UIImagePickerController的cameraViewTransform忽略了iOS 10 beta上的"缩放"和"翻译"

我一直在使用下面的代码来扩展我的UIImagePickerController的实时预览以填充整个屏幕.到目前为止,这完美地运作 在几天之前,我在iPhone 5上安装了iOS 10 beta 7,它不再扩展.我可以在UIImagePickerController的视图底部看到黑色补丁.似乎cameraViewTransform是在忽略CGAffineTransformMakeScaleCGAffineTransformMakeTranslation调用.

这就是我启动相机控制器的方式.我已将"allowsEditing"和"showsCameraControls"都设置为"NO",以便提供我自己的自定义叠加视图.

objImagePickerController =[[UIImagePickerController alloc] init];

objImagePickerController.delegate = self;
objImagePickerController.sourceType =UIImagePickerControllerSourceTypeCamera;
objImagePickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;
objImagePickerController.allowsEditing = NO;
objImagePickerController.showsCameraControls= NO;
Run Code Online (Sandbox Code Playgroud)

这是我用来缩放相机实时预览的内容.

CGSize screenSize = [[UIScreen mainScreen] bounds].size;
float screenHeight= MAX(screenSize.height, screenSize.width);
float screenWidth= MIN(screenSize.height, screenSize.width);

float cameraAspectRatio = 4.0 / 3.0;
float imageWidth = floorf(screenWidth * cameraAspectRatio);
float scale = ceilf((screenHeight / imageWidth) * 10.0) / 10.0;

objImagePickerController.cameraViewTransform= CGAffineTransformMakeScale(scale, scale);
Run Code Online (Sandbox Code Playgroud)

这就是我将摄像机视图添加为子视图而不是传统的模态演示方法的方法,以满足我自己的要求.

 [[[UIApplication sharedApplication] keyWindow]addSubview:objImagePickerController.view];
Run Code Online (Sandbox Code Playgroud)

来自iOS 5 beta 8上运行的iPhone 5s的屏幕截图

在此输入图像描述

来自iOS …

objective-c uiimagepickercontroller ios ios10 xcode8-beta6

11
推荐指数
3
解决办法
4015
查看次数