iOS: можно ли настроить меню «Открыть в ...» при предварительном просмотре документа? - PullRequest
8 голосов
/ 06 декабря 2010

Я хочу использовать UIDocumentInteractionController или QLPreviewController для предварительного просмотра как PDF-файлов, так и изображений внутри моего приложения.Мне интересно, возможна ли какая-либо из следующих настроек (я безуспешно просматривал документацию).

  • Полностью удалите меню «Открыть в ...» (например,пользователь может предварительно просмотреть изображение, но не может экспортировать его в другое приложение)

  • В меню «Открыть в ...» можно открыть файл ДРУГОЙ, чем тот, который был предварительно просмотрен (например,предварительный просмотр документа PDF, но меню «Открыть в ...» фактически экспортирует файл ePub)

UIDocumentInteractionControllerDelegate имеет метод documentInteractionController:canPerformAction:, который кажется похожим на то, что яищу, но в документации указано, что copy: и print: являются единственными поддерживаемыми селекторами.

(Также менее важно, но возможно ли изменить UIModalTransitionStyle или UIModalPresentationStyle изUIDocumentInteractionController или QLPreviewController? Поскольку QLPreviewController является подклассом UIViewController, я подумал, что смогу установить свойства modalTransitionStyle и modalPresentationStyle, но это не дало желаемых результатов.)

Ответы [ 2 ]

1 голос
/ 05 июля 2011

Об этом уже несколько раз спрашивали, и похоже, что большая часть настроек не допускается.Тем не менее, представляется возможным добавить дополнительный UIBarButtonItem в UIDocumentInteractionController (вторая ссылка ниже).Что касается пользовательских переходов, если вы попробовали modalTransitionStyle и modalPresentation style, то я предполагаю, что вы не можете.Я не могу найти информацию об этом, но я всегда могу ошибаться.

Могу ли я скрыть кнопку «Действие» в представлении UIDocumentInteractionController?

ПользовательскийДействие «Электронная почта» в UIDocumentInteractionController

UIDocumentInteractionController добавление пользовательских действий в меню (например, электронная почта, сохранение в фотографии)

0 голосов
/ 27 января 2014

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

[self addChildViewController:self.previewController];
...