У меня есть приложение для iPhone, которое я пытаюсь сделать универсальным. У меня есть этот код:Представление контроллера просмотра на iPad разрешает только .Popover
let documentMenu = UIDocumentMenuViewController(documentTypes: [kUTTypeContent as String], inMode: .Import)
documentMenu.modalPresentationStyle = .FormSheet
documentMenu.delegate = self
self.presentationContext.presentViewController(documentMenu, animated: true, completion: nil)
self.presentationContext
просто-контроллер перешел в класс.
Каждый раз, когда этот код выполняется, происходит эта ошибка:
Ваша заявка представлена UIDocumentMenuViewController(). В своей текущей характеристике среда modalPresentationStyle UIDocumentMenuViewController с этим стилем - UIModalPresentationPopover. Вы должны предоставить информацию о местоположении для этого popover через popoverPresentationController контроллера просмотра. Вы должны указать либо sourceView, и sourceRect, либо barButtonItem. Если эта информация неизвестна при представлении контроллера вида, вы можете предоставить ее в методе UIPopoverPresentationControllerDelegate -prepareForPopoverPresentation.
Я не уверен, что происходит. Я даже попытался установить sourceView
и sourceRect
, в котором останавливается ошибка, однако он вставляет DocumentMenuViewController
в popover, я не так. Мне нужно это модально представлено в центре экрана. Любая помощь приветствуется.
Я не утверждаю, что вы ошибаетесь, но есть ли какие-либо документы, подтверждающие ваше требование? – crizzwald
К сожалению, нет. Мой ответ основан на практическом опыте с 'UIDocumentMenuViewController', и ваш собственный опыт из вашего вопроса соответствует тому, что я видел. – rmaddy