UIImagePickerController Subview Не вызывает делегат. Работает как modalViewController - PullRequest
2 голосов
/ 08 января 2012

Я пишу приложение камеры, используя UIImagePickerController, и я хотел бы добавить его в иерархию отображения в качестве подпредставления, выполнив:

id delegate = [[UIApplication sharedApplication] delegate];
window = [delegate window];

picker.cameraViewTransform = CGAffineTransformMakeScale(1.3, 1.3);
[window addSubview:picker.view];
[picker viewWillAppear:YES];
[picker viewDidAppear:YES];

, но когда я это делаю, делегат не вызывается.

средство выбора - это экземпляр UIImagePickerController.

Если я изменю код, добавив его в качестве подпредставления, на:

[[UIApplication sharedApplication].keyWindow.rootViewController presentModalViewController: controller animated: YES];

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

Я делаю это для внутреннего расширения Adobe Flex, поэтому мне нужно проделать дополнительную работу, чтобы получить ссылку на окно.Это также, почему я не могу использовать modalViewController.Приложение Flex должно держать свое окно под UIImagePickerController в иерархии представлений, чтобы я мог вернуться к нему позже.

Любая помощь очень ценится. Спасибо

Ответы [ 2 ]

1 голос
/ 19 марта 2013

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

0 голосов
/ 11 марта 2012

Да, UIImagePickerController работает только на модальных или UIPopoverController на iPad.

Но вы всегда можете написать собственный инструмент выбора изображений с помощью библиотеки ALAssetsLibrary. или обратитесь к какой-либо существующей реализации с открытым исходным кодом, например ELCImagePickerController https://github.com/elc/ELCImagePickerController

...