【问题标题】:QLPreviewController in MonotouchMonotouch 中的 QLPreviewController
【发布时间】:2011-12-12 11:27:40
【问题描述】:
我想在 Monotouch 中使用 QLPreviewController 打开 PDF 文件,但我不能这样做。
QLPreviewItem是一个抽象类,但是这个类型的对象返回方法:
QLPreviewControllerDataSource.GetPreviewItem(QLPreviewController, int)
有人在 Monotouch 中使用过 QLPreviewController 的示例吗?
【问题讨论】:
标签:
xamarin.ios
qlpreviewcontroller
【解决方案1】:
子类 QLPreviewItem,然后返回
来自 GetPreviewItem 的对象:
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; }
}
}
【解决方案2】:
至少在 Cocoa Touch 上,在数据源方法中返回 NSURL 对象就足够了(QLPreviewControllerDataSource.GetPreviewItem() on mono touch - previewController: previewItemAtIndex: on cocoa touch)。
NSURL 已经实现了QLPreviewItem。所以除非你想做一些花哨的东西,否则你不需要继承/实现QLPreviewItem。