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



我的应用程序中有以下代码,它显示了一个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;
}

最初,当我将set-showsCameraControls删除为NO时,屏幕上的控件所在的位置出现了一个黑条。为了抵消这一点,我在self.cameraViewTransform行中添加了放大视图的内容。

这是有效的,但它扭曲了图像。我想我需要做的也是按宽度的比例缩放高度。

有人能建议我做这件事的最佳方法吗?

提前感谢!

我可能误解了你的问题,但为了缩放宽度,你可以

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

而不是

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

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


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

最新更新