3

私は次の結果を達成しようとしています:

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];
  1. 私は同様のSOトピックを見てきましたが、それらはすべて方法について話しています

    私の問題ではなく、UIImagePickerControllerの上にビューを設定してください。

  2. サイズが 200 x 200 のカスタム UIView に self.picker を追加しようとしましたが、それでも

    失敗。

ここで何が間違っていますか?

ありがとう

4

2 に答える 2

5

カメラ フレームを調整するには、 のcameraViewTransformプロパティを使用する必要があります。このプロパティは、ユーザーが作成したもの (スケーリング、回転、反転、平行移動など) をUIImagePicker受け入れます。CGAffineTransform

たとえば、カメラ ビューを 50 ポイント下に移動し、カメラ ビューを元のサイズの 1.2 倍にスケーリングする場合は、次のようにします。

    CGAffineTransform transform = CGAffineTransformMakeTranslation(0.0f, 50.0f);
    transform = CGAffineTransformScale(transform, 1.2f, 1.2f);
    imagePicker.cameraViewTransform = transform;
于 2014-08-14T08:57:56.607 に答える