Использование presentModalViewController с UIImagePickerController вызывает сбой в iOS 5 - PullRequest
0 голосов
/ 26 января 2012

Используя presentModalViewController с UIImagePickerController, вызывающего сбой на iOS 5 (он работает нормально на версии <5), я пытаюсь получить все альбомы на устройстве, используя 'UIImagePickerControllerSourceTypeSavedPhotosAlbum' только получение изображений с камеры, поэтому при изменении sourceType to 'UIImagePickerControllerSourceTypePhotoLibrary', он падает, я ценю любую помощь, вот мой код: </p>

float version = [[[UIDevice currentDevice] systemVersion] floatValue];
    if(version < 5) 
        imgPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    else                        
        imgPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
        //imgPicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;

    [self presentModalViewController:imgPicker animated:YES];

1 Ответ

1 голос
/ 26 января 2012

Из официального документа:

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

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

  2. Проверьте, какие типы носителей доступны для используемого вами типа источника, вызвавavailableMediaTypesForSourceType: метод класса.Это позволяет различать камеру, которая может использоваться для записи видео, и камеру, которая может использоваться только для неподвижных изображений.

  3. Скажите контроллеру выбора изображений настроить пользовательский интерфейс в соответствии с носителемтипы, которые вы хотите сделать доступными - неподвижные изображения, фильмы или оба, - установив свойство mediaTypes.

  4. Представьте пользовательский интерфейс, вызвав presentViewController: animated: завершение: метод текущегоактивный контроллер представления, передавая сконфигурированный контроллер средства выбора изображений в качестве нового контроллера представления.

    На iPad представьте пользовательский интерфейс с помощью всплывающего окна.Это действительно только в том случае, если для свойства sourceType контроллера средства выбора изображений установлено значение UIImagePickerControllerSourceTypeCamera.Чтобы использовать контроллер всплывающих окон, используйте методы, описанные в разделе «Представление и отклонение всплывающих окон» в Справочнике по классам UIPopoverController.

  5. Когда пользователь нажимает кнопку, чтобы выбрать вновь захваченное или сохраненное изображениеили фильм, или отменяет операцию, закрывает средство выбора изображений, используя ваш объект делегата.Для вновь захваченных носителей ваш делегат может затем сохранить его в Camera Roll на устройстве.Для ранее сохраненных носителей ваш делегат может затем использовать данные изображения в соответствии с назначением вашего приложения

Возможно, пункт 4 вызывает проблемы.

...