0

おはようございます。

UIImagePickerControllerに白以外が表示されないという問題があります。メインヘッダーファイルに320x320UIImageViewがあります。

IBOutlet UIImageView *_cameraView;

一緒に:

@property (nonatomic, retain) UIImagePickerController *_cameraPicker;
@property (nonatomic, retain) UIImage *_noCam;

_noCamは、ユーザーがカメラを持っていない場合にビューに配置される画像です。それはうまくいきます。

この正方形のビューの上にカメラを表示しようとしています(標準のカメラGUIはありませんが、今は待つことができます)。私のメインクラスには次のものがあります。

- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
NSLog(@"viewDidAppear did appear too");
//camera view etc
if (![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
    //code here to not allow picture taking, probably put up something saying you don'thave a camera on your device
    NSLog(@"no cam available");
    _noCam = [UIImage imageNamed:@"noCam.png"];
    [_cameraView setImage:_noCam];
} else {
    //take the shot
    _cameraPicker = [[UIImagePickerController alloc] init];
    _cameraPicker.delegate = _cameraView;
    _cameraPicker.sourceType = UIImagePickerControllerSourceTypeCamera;
    NSLog(@"cam is available");
}

}

デリゲートの設定に問題があると思います。_selfは私にタイプのエラーを与えます:

'互換性のないタイプから'ViewController* const _strong '

NSLogsを使用して、メソッドが機能していることを確認しています。viewDidLoadメソッドとviewDidAppearメソッドが呼び出され、カメラが検出されたことがわかりますが、白いビューが表示されます。

どんな助けでも大歓迎です。

ありがとう。

4

1 に答える 1

0

どういうわけかピッカーを表示する必要があります。デフォルトのGUIを使用できます。

  [self presentModalViewController:_cameraPicker animated:YES];

cameraOverlayViewまたは、UIImagePickerControllerを確認してください。

于 2012-05-03T08:20:15.647 に答える