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.