35

ViewController から次のコードを使用してカメラを起動しています。

- (void)viewDidLoad {
    self.imgPicker = [[UIImagePickerController alloc] init];
    self.imgPicker.sourceType = UIImagePickerControllerCameraDeviceFront;
    self.imgPicker.delegate = self;     
}

- (IBAction)grabCamera {
    [self presentModalViewController:self.imgPicker animated:YES];
}

カメラがデフォルトでiPhone4の背面カメラではなく前面カメラを使用するようにするにはどうすればよいですか? DeviceFront を試してみましたが、役に立ちませんでした。

また、grabCamera を押した後、このカメラの上にサブビュー (半分のサイズ) を追加するにはどうすればよいですか? MainWindow.xib にこのサブビューがある場合、presentModalViewController コードを実行した後に addSubview を実行しようとしましたが、うまくいきませんでした... NSTimer を作成して、カメラ ディスプレイが完全に表示された後に addSubview をロードする必要がありますか?別のものを使用する必要があります (CSS の z-index に似ています)。2 番目の質問に対する答えは、imgPicker.cameraOverlayView = viewName; です。

皆さんありがとう!

4

1 に答える 1

78

UIImagePickerControllerCameraDeviceFrontsourceTypeプロパティの有効な列挙ではありません。プロパティは、カメラまたはフォト ライブラリのsourceTypeどちらを使用しているかを定義します。cameraDevice代わりにプロパティを設定する必要があります。

Objective-C

self.imgPicker.sourceType = UIImagePickerControllerSourceTypeCamera;
self.imgPicker.cameraDevice = UIImagePickerControllerCameraDeviceFront;

スイフト2

imgPicker.sourceType = .Camera
imgPicker.cameraDevice = .Front

スイフト3

imgPicker.sourceType = .camera
imgPicker.cameraDevice = .front
于 2012-01-21T02:09:49.673 に答える