UIImagePickerController takePicture не отвечает - PullRequest
1 голос
/ 09 ноября 2011

Я запускаю UIImagePickerController:

    imagePicker = [[UIImagePickerController alloc] init];
    imagePicker.delegate = self;
    imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
    imagePicker.cameraDevice = UIImagePickerControllerCameraDeviceFront;

, а затем использую этот метод [imagePicker takePicture];

, и я не получаю никакого вызова метода делегата:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

Есть идеи, почему?

Ответы [ 2 ]

1 голос
/ 09 ноября 2011

Чтобы использовать контроллер средства выбора изображений, вы должны предоставить делегата, который соответствует протоколу UIImagePickerControllerDelegate.

, если это так, убедитесь, что устройство способно выбирать контент из желаемого источника.Сделайте это, вызывая метод isSourceTypeAvailable: class, предоставляя константу из перечисления «UIImagePickerControllerSourceType».

Также проверьте, что self не было выпущено.

0 голосов
/ 09 ноября 2011

Вы не упоминаете, действительно ли вы представляете контроллер средства выбора изображений пользователю, вызывая -presentViewController:animated:completion: (или более старый presentViewController:animated:).

В документах Apple об этом прямо не говорится,но я вполне уверен, что для работы -takePicture на экране должен отображаться контроллер средства выбора изображений, в противном случае вы сможете делать снимки без ведома пользователя.

...