- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试使用 QLPreviewController 查看 PDF 文件并发送它,但在预览 PDF 文档后我的操作按钮出现问题。
当我按下操作按钮(在右上角)时,应用程序崩溃并得到:“未处理的托管异常:抛出 Objective-C 异常。名称:NSInternalInconsistencyException 原因:UIDocumentInteractionController:无效方案(空)。只有文件方案是支持。(MonoTouch.Foundation.MonoTouchException)”
我做了一些研究,发现如果您从 Internet 下载文件或文件类型不是“file://.........”,则可能会出现此问题。我的 NSUrl 是那种格式,所以我不知道为什么会出现此错误。
有人知道吗?
谢谢
这是我调用 Controller 的代码:
QLPreviewController previewController= new QLPreviewController();
previewController.DataSource=new MyQLPreviewControllerDataSource();
this.PresentViewController(previewController,true, null);
这是我的数据源代码:
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; }
}
最佳答案
您的 QlItem 类正在将原始 NSUrl 转换为 Uri,然后再将其转换回 NSUrl,并且在此过程中有些东西丢失了。
它应该看起来更像:
public class QlItem : QLPreviewItem
{
string title;
NSUrl uri;
public QlItem(string title, NSUrl uri)
{
this.title = title;
this.uri = uri;
}
public override string ItemTitle {
get { return title; }
}
public override NSUrl ItemUrl {
get { return uri; }
}
}
关于ios - Monotouch - QLPreviewController 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15258023/
我只是想访问 QLPreviewController.view。事实上,我想捕获其 View 上的点击事件以显示/隐藏工具栏等。我正在尝试: QLPreviewController* qlpc = [
我不知道如何为我的 QLPreviewController 类设置 PreviewItemTitle 属性。这似乎有点奇怪,因为此类的 iPhone 开发人员文档说该属性是 @property (re
我在自定义 QLPreviewController 的外观时遇到问题. 我们可以通过将 QLPreviewController 插入导航 Controller 或将其呈现在 ModalViewCont
我在我的应用程序中使用 QLPreviewController 并想隐藏允许在其数据源项目中移动的底部工具栏。有可能以某种方式做吗? 我试图将其搜索为 QLPreviewController 的 Vi
我有一个主从应用程序,其中主显示文档列表,详细信息显示这些文档的预览。 在 Storyboard 中,我绘制了一个名为 的 UIView vista预览 . 我已经在 .h 中声明了它: @prope
我正在使用 QLPreviewController 来显示 PDF。现在我正在尝试将按钮项目添加到工具栏。当我打印工具栏项目时,我可以看到它们正在添加,但我的工具栏不会出现。为什么没有出现? func
使用 QLPreviewController 预览 pdf 、 doc 、 xlsx 等文档,但不显示文件内容。要显示的文件是从服务器获取的。我只想通过来自服务器的 url 链接(如图像)显示 pdf
您可以使用 QLPreviewController 编辑图像吗? 例如,预览图像并裁剪它?如果不是,QLPreviewController 上的编辑属性是做什么用的?它似乎没有改变任何东西。 (预览文
我正在使用 QLPreviewController 从我的服务器获取和查看远程 PDF。这非常有效,因为 Apple 在下载文件时内置了一个漂亮的“正在加载”图形。现在,我还想使用需要本地文件的 UI
我正在测试 Apple 的 DocInteraction 示例应用程序。在模拟器上它工作正常。但在 iPad 上,图片的图标不会显示。有什么建议可以解决这个问题吗? 最佳答案 将我的设备更新到 iOS
我在我的 View Controller 中嵌入了一个 QLPreviewController 作为 subview Controller ,并为其设置了委托(delegate)和数据源: qlPre
是否可以将新按钮添加到工具栏或 QLpreviewController 右上角的 actionButton 中? 如果是,我该如何编写代码? 最佳答案 尽管 QLPreviewController 是
我如何在 QLPreviewController 中设置半透明属性我已经尝试了下面的代码但它不起作用 QLPreviewController *previewer = [[QLPreviewCon
是否可以更改 QLPreviewController 中项目的标题? 我已经尝试过: 子类化 QLPreviewController 添加 override func viewDidAppear(_
我在我的应用程序中集成了 QLPreviewController 和 UIDocumentInteractionController,它工作正常。 唯一的问题是 - 我想配置底部工具栏,我想删除默认工
我想在 swift 3 中更改 QLPreviewController 的导航栏颜色。我使用下面的代码来更改颜色,但它不起作用 viewQLPreview = QLPreviewController(
我使用 QLPreviewController 向我的用户显示 pdf 文件。一切正常。我只想知道用户何时到达文档末尾。 你知道这是否可能吗? 谢谢。 最佳答案 不幸的是,它不是,主要问题是没有很好/
我正在 iPad 应用程序中使用 nib 生成 PDF。该应用程序使用在应用程序的 Nib 中正确显示的自定义字体。当我在我的 Mac 上查看这个保存的 PDF 时,它也以正确的字体显示。当我使用 Q
我需要从 QLPreviewController 隐藏共享按钮 这是将 PDF(例如)显示到新 View 的原始代码 var previewItem = NSURL() func preview(_c
我正在使用 QLPreviewController 来显示一组文件。但是,它只显示第一个,我似乎无法滑动或执行任何操作来显示第二个。我究竟做错了什么?我必须手动设置吗?如果是这样 - 我将如何去做?
我是一名优秀的程序员,十分优秀!