从UIImagePicker中删除相机控件 - 如何扩展到全屏 - iPhone / iPad

时间:2012-01-16 13:30:38

标签: iphone objective-c xcode camera uiimagepickercontroller

我的应用程序中有以下代码,显示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行中添加了扩展视图。

这可行,但它会扭曲图像。我认为我需要做的是将高度与宽度相同。

有人可以告诉我最好的方法吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

我可能会误解你的问题,但是为了扩大宽度,你可以

self.cameraViewTransform = CGAffineTransformScale(self.cameraViewTransform, CAMERA_SCALAR, CAMERA_SCALAR);

而不是

self.cameraViewTransform = CGAffineTransformScale(self.cameraViewTransform, 1, CAMERA_SCALAR);

但是,当然,这会将相机视图的两侧推出屏幕。


原则上,我认为在这种情况下没有最佳选择(准确显示相机在全屏中显示的内容),因为问题的根源是屏幕/相机的纵横比的差异。你不得不错过部分观点,或者扭曲观点,这是我的想法。