UIImagePickerController белый экран?

Доброе утро.

У меня проблемы с UIImagePickerController, который не показывает ничего, кроме белого. У меня есть 320x320 UIImageView, в моем основном заголовочном файле:

IBOutlet UIImageView *_cameraView;

Вместе с:

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

_noCam - это изображение, которое помещается в представление, если у пользователя нет камеры. Это отлично работает.

Я пытаюсь показать (без стандартного графического интерфейса камеры, но это может подождать пока) камеру поверх этого квадратного вида. В моем основном классе у меня есть:

- (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, и что была обнаружена камера. Но тогда я просто получаю белый вид.

Любая помощь будет принята с благодарностью.

Благодарю.

1 ответ

Решение

Вам нужно как-то отобразить пикир, вы можете использовать графический интерфейс по умолчанию:

  [self presentModalViewController:_cameraPicker animated:YES];

Или проверить cameraOverlayView UIImagePickerController.

Другие вопросы по тегам