Предварительный просмотр документа с использованием UIDocumentInteractionController не работает в iOS 13 - PullRequest
4 голосов
/ 04 октября 2019

Я использую UIDocumentInteractionController для предварительного просмотра файлов различных типов в приложении. В прошлом это работало нормально, но при запуске приложения на устройстве с iOS 13 документ не отображается. Отображается имя и тип файла.

Я искал похожие вопросы и нашел этот UIDocumentInteractionController, показывающий имя и тип файла, а не содержимое файла

I 'мы пробовали NSUrl.CreateFileUrl(FilePath, null), как подсказывают комментарии к этому вопросу, но это не решает проблему.

Это то, что я использую для открытия файла и представления предварительного просмотра:

var uidic = UIDocumentInteractionController.FromUrl(new NSUrl(FilePath, true));
uidic.Delegate = new DocInteractionC(navcontroller);
uidic.PresentPreview(true);

И определение контроллера:

public class DocInteractionC : UIDocumentInteractionControllerDelegate
{
    readonly UIViewController m_oParentViewController;

    public DocInteractionC(UIViewController controller)
    {
        m_oParentViewController = controller;
    }

    public override UIViewController ViewControllerForPreview(UIDocumentInteractionController controller)
    {
        return m_oParentViewController;
    }

    public override UIView ViewForPreview(UIDocumentInteractionController controller)
    {
        return m_oParentViewController.View;
    }
}

Возможно ли, что это проблема с NSUrl в Xamarin.ios для iOS 13? Любая помощь будет высоко ценится.

1 Ответ

4 голосов
/ 07 октября 2019

Моя проблема была решена путем изменения кода следующим образом:

var uidic = new UIDocumentInteractionController()
{
  Name = fileName,
  Url = NSUrl.FromFilename(filePath),
  Delegate = new DocInteractionC(viewController)
};

uidic.PresentPreview(true);

Большие файлы, такие как XLSX-файл 11 МБ, загружаются очень долго.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...