QLPreviewController を使用して PDF ファイルを表示して送信しようとしていますが、PDF ドキュメントをプレビューした後のアクション ボタンに問題があります。
アクション ボタン (右上) を押すと、アプリがクラッシュし、次のメッセージが表示されます。 MonoTouch.Foundation.MonoTouchException)」
私はいくつかの調査を行いましたが、インターネットからファイルをダウンロードした場合、またはファイルの種類が "file:// ........." でない場合に、この問題が発生する可能性があることがわかっています。私の NSUrl はその形式であるため、なぜこのエラーが発生するのかわかりません。
誰にもアイデアはありますか?
ありがとう
コントローラーを呼び出すコードは次のとおりです。
QLPreviewController previewController= new QLPreviewController();
previewController.DataSource=new MyQLPreviewControllerDataSource();
this.PresentViewController(previewController,true, null);
これは、DataSource の私のコードです。
public class MyQLPreviewControllerDataSource : QLPreviewControllerDataSource { public override int PreviewItemCount (QLPreviewController controller) {
return 1;
}
public override QLPreviewItem GetPreviewItem (QLPreviewController controller, int index)
{
string fileName = @"example.pdf";
var documents = Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments);
var library = Path.Combine (documents,fileName);
NSUrl url = NSUrl.FromFilename (library);
return new QlItem ("Title", url);
}
}
これはアイテムの私のコードです:
public class QlItem : QLPreviewItem { string _title; Uri _uri;
public QlItem (string title, Uri uri)
{
this._title = title;
this._uri = uri;
}
public override string ItemTitle {
get { return _title; }
}
public override NSUrl ItemUrl {
get { return _uri; }
}
}