Я пытаюсь написать код для выбора изображения из библиотеки фотографий на iPad. Код, который я использую, приведен ниже (взято с веб-сайта Apple), но он постоянно выдает ошибку, говорящую о том, что На iPad UIImagePickerController должен быть представлен через UIPopoverController
.Я пробовал изменить эту строку: UIImagePickerController *mediaUI = [[UIImagePickerController alloc] init];
для использования UIPopoverController, но очевидно, что я делаю что-то не так, потому что он не работает.
- (BOOL) selectImage: (UIViewController*) controller
usingDelegate: (id <UIImagePickerControllerDelegate,
UINavigationControllerDelegate>) delegate {
if (([UIImagePickerController isSourceTypeAvailable:
UIImagePickerControllerSourceTypeSavedPhotosAlbum] == NO)
|| (delegate == nil)
|| (controller == nil))
return NO;
UIImagePickerController *mediaUI = [[UIImagePickerController alloc] init];
mediaUI.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
// Displays saved pictures and movies, if both are available, from the
// Camera Roll album.
mediaUI.mediaTypes =
[UIImagePickerController availableMediaTypesForSourceType:
UIImagePickerControllerSourceTypeSavedPhotosAlbum];
// Hides the controls for moving & scaling pictures, or for
// trimming movies. To instead show the controls, use YES.
mediaUI.allowsEditing = NO;
mediaUI.delegate = delegate;
[controller presentModalViewController: mediaUI animated: YES];
return YES; }
На странице разработчика Apple также говорится: «На iPad вы можете альтернативно представить интерфейс браузера с помощью всплывающего окна, как описано в initWithContentViewController: и «Представление и закрытие всплывающего окна» в справочнике по классам UIPopoverController». Я прочитал это, но я все еще не могу заставить его работать. Любая помощь будет оценена по достоинству.