iOS UIImagePickerController,设置框架

GTP*_*ech 3 camera uiimagepickercontroller ios

我正在尝试完成以下结果:

将我的UIImagePickerController的框架设置为200 x 200,

将我的框架设置在右下角(就像Facetime/Skype一样)

并显示前/后(无关紧要)相机流.

这是我的代码,出于某种原因,setFrame无效!

self.picker = [[UIImagePickerController alloc] init];
self.picker.sourceType = UIImagePickerControllerSourceTypeCamera;
self.picker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;
self.picker.cameraDevice = UIImagePickerControllerCameraDeviceRear;
self.picker.showsCameraControls = NO;
self.picker.navigationBarHidden = YES;
self.picker.view.frame = CGRectMake(600, 400, 200, 200); // NOT WORKING !!!
self.picker.toolbarHidden = YES;
self.picker.wantsFullScreenLayout = NO;
self.picker.delegate = delegate;

[self presentViewController:self.picker animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
  1. 我看过类似的SO主题,但他们都在谈论如何

    在UIImagePickerController上设置一个视图,而不是我的问题.

  2. 我尝试将self.picker添加到大小为200 x 200的自定义UIView中,但仍然如此

    没有成功.

我在这做错了什么?

谢谢

Enr*_*tyo 5

您需要使用cameraViewTransform属性UIImagePicker来调整其相机框架.此属性接受CGAffineTransform您所做的任何操作(例如缩放,旋转,反转,翻译等).

例如,如果要将摄像机视图向下移动50个点并将摄像机视图缩放1.2倍其原始大小,这就是您要执行此操作的方法:

    CGAffineTransform transform = CGAffineTransformMakeTranslation(0.0f, 50.0f);
    transform = CGAffineTransformScale(transform, 1.2f, 1.2f);
    imagePicker.cameraViewTransform = transform;
Run Code Online (Sandbox Code Playgroud)