ファイルシステムからpdfファイルを開く必要があります。 私はファイルへのパスを取得する方法を知っていますが、私のIPhoneはそれを開けません。XamarinフォームIOSオープンPDF
私は次のコードレンダラを使用します。ここでは
using Xamarin.Forms;
using IdokladX.Services;
using UIKit;
using Foundation;
[assembly: Dependency(typeof(IdokladX.iOS.Services.PdfViewer))]
namespace IdokladX.iOS.Services {
public class PdfViewer:IPdfViewer {
public void OpenPdf(string filename)
{
FileWorker fl = new FileWorker();
if (fl.Exists(filename))
{
string strPfad = fl.GetFilePath(filename);
var viewer = UIDocumentInteractionController.FromUrl(NSUrl.FromFilename(strPfad));
var controller = GetVisibleViewController();
viewer.PresentOpenInMenu(controller.View.Frame, controller.View, true);
}
}
private UIViewController GetVisibleViewController(UIViewController controller = null)
{
controller = controller ?? UIApplication.SharedApplication.KeyWindow.RootViewController;
if (controller.PresentedViewController == null)
return controller;
if (controller.PresentedViewController is UINavigationController)
{
return ((UINavigationController)controller.PresentedViewController).VisibleViewController;
}
if (controller.PresentedViewController is UITabBarController)
{
return ((UITabBarController)controller.PresentedViewController).SelectedViewController;
}
return GetVisibleViewController(controller.PresentedViewController);
}
}
}
FileWorker
は、それが存在する場合は、ファイルをチェック/削除/保存するためのメソッドを含むクラスです。 どうしたのですか? Info.plistファイルにファイルタイプPDFを追加しました。
は間違っては何ですか?私はWebViewを使用するためのアドバイスをしないでください、私は別のプログラムを介してPDFファイルを開く必要があります。
'PresentOpenInMenu()'をトリガするときにポップアップが表示されないのですか? 他のアプリからpdfファイルを開くことはできますか? –
他のpdfビューアアプリケーションをインストールしたデバイスでテストすることができます。 –
@Kevinはアドバイスをありがとう!確かに、私のシミュレータにはPDFビューアのアプリはありませんが、私はサファリを持っています...それを開くべきだと私は間違っていますか? – ManOfWar