我使用自定义叠加以横向方式显示UIImagePickerController。由于iPhone 5和5S中的相机纵横比,我不得不使用“cameraViewTransform”缩放图像的实时预览。
CGSize screenSize = [[UIScreen mainScreen] bounds].size;
float cameraAspectRatio = 4.0 / 3.0;
float imageWidth = floorf(screenSize.width * cameraAspectRatio);
float scale = ceilf((screenSize.height / imageWidth) * 10.0) / 10.0;
m_objImagePickerController.cameraViewTransform = CGAffineTransformMakeTranslation(0, (screenSize.height - imageWidth) / 2.0);
m_objImagePickerController.cameraViewTransform = CGAffineTransformScale(m_objImagePickerController.cameraViewTransform, scale, scale);
这是受到这篇文章的启发:UIImagePickerController doesn't fill screen
在iOS 8到来之前它完全正常。看起来像在iOS 8中无法使用cameraViewTransform缩放。但翻译正在生效。因此,我可以在实时相机预览中看到明显的黑条。以下是截图。
请注意,到目前为止我还没有切换到Xcode 6。这仅适用于Xcode 5.1.1。我必须在几天内将我的应用程序移至应用程序商店。然后我将切换到Xcode 6.在此之前,我不想冒任何机会。
如果有人遇到此问题,请提供帮助。我没有为iOS 8找到任何解决方案。