Камера iPhone не может открыться из ландшафтного приложения - PullRequest
0 голосов
/ 04 августа 2009

Я создаю приложение только для ландшафта, использующее SDK 3.0, которое использует mapkit. Мне нужно использовать камеру iphone в моем приложении. Но я получаю следующее предупреждение при попытке открыть камеру.

"Невозможно выполнить полноэкранный переход. Представление fromViewController должно находиться в представлении, которое занимает весь экран."

Вид, из которого я вызываю метод камеры, - это вид карты размером 480 * 320. Я написал следующий код для вызова камеры:

UIImagePickerController *picker = [[UIImagePickerController alloc]init];
picker.delegate = self;

picker.sourceType=UIImagePickerControllerSourceTypeCamera;

[self presentModalViewController: picker animated:YES];
[picker release];

После этого я написал обычный метод:

-(void)imagePickerController : (UIImagePickerController *)picker didFinishPickingImage : (UIImage *)image  editingInfo : (NSDictionary *)editingInfo

Но это никогда не вызывается, так как камера никогда не открывается. Итак, мой вопрос: что мне здесь не хватает ...? Я тестирую это приложение на реальном устройстве iphone, а не на симуляторе. Я использовал этот код в другом приложении, и он отлично работает. Но здесь это просто не работает! Пожалуйста, помогите, если у вас есть идеи по этому поводу ..

Ответы [ 2 ]

1 голос
/ 28 ноября 2009

просто замените "self" на родительский ViewController, который, вероятно, объявлен в вашем appDelegate.

1 голос
/ 04 августа 2009

звучит так, будто предупреждение говорит о проблеме: родительский вид, который вы передаете в presentModalViewController, должен быть полноэкранным. Поэтому вместо использования «self» в этом коде вам нужно использовать что-то еще, например, родительский контроллер представления.

Теперь у вас возникнет другая проблема, поскольку контроллеру камеры не нравится альбомный режим, поэтому вам, возможно, придется переключиться обратно в портретный режим, прежде чем показывать его ...

...