我的应用程序中有以下代码,显示UIImagePicker减去相机控件。
#define CAMERA_SCALAR 1.32
@implementation CameraViewController
- (id)init {
// Remove standard controls from UIImagePicker and make full screen
if (self = [super init]) {
self.sourceType = UIImagePickerControllerSourceTypeCamera;
self.showsCameraControls = NO;
self.navigationBarHidden = YES;
self.toolbarHidden = YES;
self.wantsFullScreenLayout = YES;
self.cameraViewTransform = CGAffineTransformScale(self.cameraViewTransform, 1, CAMERA_SCALAR);
}
return self;
}
最初,当我将show showsCameraControls删除为NO时,屏幕上出现了一个黑色条形控件。为了抵消这一点,我在self.cameraViewTransform行中添加了扩展视图。
这可行,但它会扭曲图像。我认为我需要做的是将高度与宽度相同。
有人可以告诉我最好的方法吗?
提前致谢!
答案 0 :(得分:1)
我可能会误解你的问题,但是为了扩大宽度,你可以
self.cameraViewTransform = CGAffineTransformScale(self.cameraViewTransform, CAMERA_SCALAR, CAMERA_SCALAR);
而不是
self.cameraViewTransform = CGAffineTransformScale(self.cameraViewTransform, 1, CAMERA_SCALAR);
但是,当然,这会将相机视图的两侧推出屏幕。
原则上,我认为在这种情况下没有最佳选择(准确显示相机在全屏中显示的内容),因为问题的根源是屏幕/相机的纵横比的差异。你不得不错过部分观点,或者扭曲观点,这是我的想法。