おはようございます。
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メソッドが呼び出され、カメラが検出されたことがわかりますが、白いビューが表示されます。
どんな助けでも大歓迎です。
ありがとう。