如何将实时屏幕摄像头对准iPhone中视图的中心?

时间:2013-05-14 17:35:02

标签: iphone objective-c ios6 camera uiimagepickercontroller

如果屏幕底部有一个黑条(就像我下面粘贴的图片一样),我们必须重新缩放实时屏幕相机覆盖以适应iPhone的宽高比。即使我将Y值从 1 更改为 1.234 (对于iPhone 4),它也会填满底部黑色区域,整个视图将被现场覆盖屏幕相机。到目前为止看起来很好。但我希望保持底部黑色区域不变,并希望仅从顶部边缘减小实时屏幕相机的尺寸,以便在屏幕的顶部和底部有两个相同尺寸的黑色区域

enter image description here

所以在这段代码中,如果我尝试将 CAMERA_TRANSFORM_Y 的值从1.234更改为0.8,

#define CAMERA_TRANSFORM_X 1
#define CAMERA_TRANSFORM_Y 1.234

  self.picker.cameraViewTransform = CGAffineTransformScale(self.picker.cameraViewTransform, CAMERA_TRANSFORM_X, CAMERA_TRANSFORM_Y);

实时屏幕摄像头的大小从顶部和底部边缘减小,在底部创建一个更大的黑色区域,但在顶部创建一个更小的黑色区域(如图中所示),

enter image description here

因此,我希望两个黑色区域在顶部和底部都具有相同的大小,以便将实时屏幕摄像头对准视图的中心。谁能告诉我如何完成这项工作?这是我的项目文件(点击完成按钮在我的项目中打开实时屏幕摄像头),

Custom camera

2 个答案:

答案 0 :(得分:0)

你试过这个吗?

self.cameraView.center = self.otherView.center;

答案 1 :(得分:0)

我通过首先在我当前的视图中添加黑色uiview来完成此操作。然后我将UIImagePickerController的视图添加到我想要的位置的黑色视图中。

  [self.view addSubview:blackView];
  imagePickerController.view.frame = 
        CGRectMake ( 0,
                     100,  // make this how far down you want the camera view
                     imagePickerController.view.frame.size.height,
                     imagePickerController.view.frame.size.width)

[blackView addSubview:self.imagePickerController.view];