UIDocumentInteractionController: «Открыто», видимое на iPhone, но не на iPad – почему?

Для тестирования я написал два приложения:

  • Сначала воспроизводится файл MP3 с помощью UIDocumentInteractionController
  • Второй ничего не делает, кроме регистров для типа файла " public.mp3 "

Если я развожу приложения на iPhone Simulator, мое приложение для MP3-плеера отобразит кнопку « Open in» MP3Test ». Однако, если я развертываю на iPad Simulator, нет кнопки и нет меню «Открыть в».

Это было протестировано с iOS5.

Может ли кто-нибудь объяснить, является ли это ошибкой или какой-либо особенностью и какова причина этого?

3 Solutions collect form web for “UIDocumentInteractionController: «Открыто», видимое на iPhone, но не на iPad – почему?”

Зависит от того, откуда вы его представляете.

Если вы представляете его где-то посередине экрана или ниже, просто представляйте из кадра объекта, из которого вы представляете.

если это находится на панели навигации, попробуйте следующее:

 NSString *fileToOpen = [[NSBundle mainBundle] pathForResource:@"License" ofType:@"pdf"]; UIDocumentInteractionController *controller = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:fileToOpen]]; controller.delegate = self; CGRect navRect = self.navigationController.navigationBar.frame; navRect.size = CGSizeMake(1500.0f, 40.0f); [controller presentOptionsMenuFromRect:navRect inView:self.view animated:YES]; 

IPad имеет близость к popovers (см. UIPopover ), почему он представляет в них UIActionSheet . Если вы столкнулись с аналогичной проблемой, у меня был UIDocumentInteractionController, который появился из UIBarButtonItem (в результате получился UIPopover-презентация), а не из самого представления (что отлично работало на iPhone):

1) Сохраните ссылку на кнопку действия (у меня есть моя в моей навигационной панели).

2) Используйте PresentOpenInMenu, используя ссылку кнопки действия, а не ссылку «Просмотр», в результате получив UIPopover-презентацию.

Обратите внимание, что это изменение не влияет на приложение iPhone – оно ведет себя раньше, т.е. открывает OpenInMenu в нижней части экрана так же, как и если бы вы использовали ссылку View для ее представления.

Я надеюсь, что это тоже полезно для вас.

На iPad UIDocumentInteractionController появляется как Pop Up Попробуйте что-то вроде этого

 -(void)shareClick:(UIButton*)sender { /*some code*/ CGRect rectFor appearing = [sender.superview convertRect:sender.frame toView:self.view]; [interactionController presentOptionsMenuFromRect:rect inView:self.view animated:YES]; } 
  • Предотвращение появления сторонних расширений в списке приложений Open In
  • Контроллер взаимодействия документов с панелью состояния iOS 7?
  • Файл UIDocumentInteractionController не подключен к Mail, если есть другое приложение, поддерживающее тип файла
  • Параметры google-диска не отображаются в UIDocumentMenuViewController в IOS10
  • Как я могу установить поля «Кому» и «Тема» в электронной почте, отправляемой UIDocumentInteractionController?
  • Как добавить событие в родной календарь IOS
  • UIDocumentInteractionController, отображающий пустой pdf
  • UIDocumentInteractionController удаляет меню действий
  • UIDocumentInteractionController показывает только имя и размер файла при предварительном просмотре
  • Пользовательское действие «Электронная почта» в UIDocumentInteractionController
  • Доступ к календарю UIDocumentInteractionController
  • Interesting Posts

    UITapGesture не работает с динамически созданным UIViews

    iOS Grid View с поддержкой различных размеров ячеек

    Как сделать UIImageView сенсорным, чтобы перейти к другому ViewController?

    Отсутствие ограничения x и высоты на UIScrollView при автозапуске

    Загрузка нескольких файлов AFNetworking

    Ошибка входа в facebook – canOpenURL: не удалось URL: «fbauth2: ///» – ошибка: «(null)»

    Использование Realm с Swift на iOS 7

    Не удалось выполнить компиляцию для iOS 10 после Sierra Update

    утечки памяти с помощью NSAttributedStrings

    Почему протокол CustomStringConvertible не работает для Int?

    Как настроить положение UILabel Programmatically iOS 7

    iOS, Перезапуск анимации при выходе из фона

    Форсировать перерисовку Xamarin.Forms View с помощью настраиваемого средства визуализации

    Рекламные объявления Google DFP отображаются случайным образом, хотя к ним применяются теги

    Как записывать и записывать события iOS Touch на системном уровне?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.