添加 QLPreviewController 作为子视图不会加载 PDF

2023-11-30

我正在尝试添加 QLPreviewController 的视图作为子视图(不,我不能使用导航控制器或模式)。它仅显示 QLPreviewController 的结构背景。

我创建一个并将其添加为子视图:

QLPreviewController* preview = [[[QLPreviewController alloc] init] autorelease];
preview.dataSource = self;
preview.delegate = self;
preview.view.frame = CGRectMake(0, 0, self.pdfPreviewView.frame.size.width, self.pdfPreviewView.frame.size.height);
self.pdfPreviewView.previewController = preview;
[self.pdfPreviewView addSubview:preview.view];
[preview reloadData];

我的 QLPreviewControllerDataSource 方法工作正常(一次查看 1 个 pdf):

- (id <QLPreviewItem>) previewController: (QLPreviewController *) controller previewItemAtIndex: (NSInteger) index
{
    NSString *path = [[ResourceManager defaultManager] pathForPDF:self.currentPDF];
    NSURL *url = [NSURL fileURLWithPath:path];

    if ([QLPreviewController canPreviewItem:url]) {
        return url; // This always returns
    }

    return nil; // This line is never executed
}
- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller
{
    return 1;
}

数据源方法始终返回文件 url,并且 QLPreviewController 表示它可以打开该文件,但实际上从未这样做。我只是了解背景。这self.currentPDF在我创建 QLPreviewController 之前设置,并且包含正确的信息(来自 CoreData)。

委托方法永远不会被调用。但我也没有以标准方式使用它,所以这并不完全出乎意料。

我也尝试过打电话[preview setNeedsLayout], [preview setNeedsDisplay'], and [preview refreshCurrentPreviewItem]但那些只是调用数据源方法并且不会改变任何内容。

PDF 有效。我可以在 Xcode 和 Preview 中打开它们,所以这不是问题。我有点困惑为什么这行不通。任何帮助使其发挥作用将不胜感激。


事实证明我向 QLPreviewController 发送了错误的路径。无法正确找到捆绑包中的 PDF。我需要使用pathForResource:ofType:inDirectory.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

添加 QLPreviewController 作为子视图不会加载 PDF 的相关文章

  • NSURL URLWithString:引发异常

    简而言之 NSURL URLWithString 似乎引发了一个例外 根据文档 如果字符串格式错误 则返回 nil 没有提到在任何情况下都会引发异常 除此之外 我还对 URL 进行编码并检查nil在将字符串转换为 URL 之前 任何人都可以
  • iOS 10 的错误? NSDate 日本地区时间描述和 24 小时休息

    这似乎是 iOS 10 的一个错误 在 iOS 8 和 9 中都可以 NSDate date description 的小时描述是错误的 它附加了 24 小时描述和 12 小时描述 我没有使用 NSDateFormatter 只是默认设置
  • UISplitViewController - 推送模态视图

    使用 UISplitViewController 时推送模态视图的最佳实践是什么 您会从 RootViewController DetailViewController 还是直接从应用程序委托推送 理想情况下 我想要实现的功能是在基于某些条
  • 由于语言错误,Itunes Connect 无法提交

    Thats all it shows https i stack imgur com 0aZm8 png 我不确定它没有告诉我出了什么问题 it shows its linked to the language https i stack
  • 这个错误是无效上下文0x0吗?

    我在ViewDidLoad中编写了以下代码 Implement viewDidLoad to do additional setup after loading the view typically from a nib void view
  • Swift 3:如何去除UITableView屏幕截图的灰色区域

    我在从桌面视图的屏幕截图中删除灰色区域时遇到了问题 这是我尝试截图时的输出UITableView 实际上我隐藏了一些tableViewCell这是不需要的 可能这就是区域显示灰色的原因 任何帮助表示赞赏 非常感谢 Answer 我通过使用
  • Transit MKDirectionsRequest 产生 null 错误 Error Domain=MKErrorDomain Code=5 "(null)"

    我正在尝试使用 MapKit Directions Request 来获取两个坐标之间的交通方向 当我切换到其他 非 Transit 类型时 下面的代码可以工作 但是当我切换到 Transit 时 它会抛出一个错误 该错误在 Apple 文
  • 适用于 Objective-C / iPhone 的良好 HTTP 库? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 UPDATE 这个问题显然已经过时了 参见日期 我建议只使用现代 iOS7 功能 例如 NSURLSession 我想 这个问题是为了历史
  • iOS 8 中的 UISplitViewController 状态恢复

    在 iOS 8 上 UISplitViewController 似乎可以保存和恢复其子视图的状态 例如 主视图是否隐藏 这是不可取的 因为我的应用程序应该始终以横向方式显示主视图 并始终以纵向方式隐藏它 如果用户以横向模式关闭应用程序 保存
  • 确定 NSView 是否绘制的正确方法

    有没有正确的方法来确定是否NSView实际上是否在当前视图层次结构中绘制 考虑以下情况 视图完全在屏幕外 不是强制性的 该视图不在视图层次结构的顶部 The isHidden and isHiddenOrHasHiddenAncestor不
  • 避免“在此块中强烈捕获自身可能会导致保留周期”消息

    每次我必须在块内使用全局变量或属性时 如下所示 self save if isItSaving NO self saveMyFile 我必须像这样重写 BOOL iis isItSaving id myself self self save
  • iPhone 快照,包括键盘

    我正在寻找拍摄整个 iPhone 屏幕 包括键盘 的正确方法 我找到了一些截取屏幕的代码 CGRect screenCaptureRect UIScreen mainScreen bounds UIView viewWhereYouWant
  • 应用程序传输安全已禁用,但仍然出现 SSL 握手错误

    我在通过 HTTPS SSL 连接到 API 时遇到问题 我已经使用下面的字典完全禁用了应用程序传输安全性 ATS 尽管 SSL 证书通过了 NSCURL 的所有测试
  • 如何将音乐从我的应用程序切换到 iPod

    我在用MusicPlayerController我的应用程序中的对象来播放音乐 我知道当 iPhone ipod 应用程序终止时 可以继续播放我的应用程序音乐 我该怎么做 这涉及到一些事情 您必须在两种音乐播放器之间进行选择 应用程序音乐播
  • 检查 touchend 是否在拖动后出现

    我有一些代码可以更改表的类 在手机上 有时表格对于屏幕来说太宽 用户将拖动 滚动来查看内容 但是 当他们触摸并拖动表格时 每次拖动都会触发 touchend 如何测试触摸端是否是触摸拖动的结果 我尝试跟踪dragstart和dragend
  • 当您感兴趣的任务完成时,是什么让完成处理程序执行该块?

    我一直在询问并试图了解完成处理程序是如何工作的 我用过很多 也读过很多教程 我将在这里发布我使用的代码 但我希望能够创建自己的代码 而无需使用其他人的代码作为参考 我理解这个完成处理程序 其中调用者方法 void viewDidLoad n
  • 我应该在哪个方法中设置 UITextField 的委托?

    在 viewDidLoad 或 init 方法中设置 UITextField 的委托是一个好习惯吗 我尝试在 init 方法中将委托设置为 self 但它没有调用相应的委托方法 当我将代码移动到 viewDidLoad 中时 它注册为将 s
  • 如何通过辅助功能 API 获取当前所选文本的全局屏幕坐标。

    我需要帮助来了解字典应用程序如何在任何应用程序上按 CMD CTRL D 时显示所选文本的以下弹出对话框 我想实施 我的可可应用程序具有相同的功能 我的应用程序将在后台运行 并显示有关所选文本的一些热键的建议 我已经实现了热键捕获 我只需要
  • 为什么这个 SKPhysicsJointPin 不能将这 2 个精灵保持在一起?

    我显然不太了解 SKPhysicsJoint 但是除了 Apple 文档之外 网上的信息还很少 下面的代码有什么问题 我认为应该保持头部和颈部永久连接 我的意图是它们就像两张带有大头针的纸 这样它们可以旋转一点 但不仅仅是完全分开 当我运行
  • 如何获取 UIWebView 中元素的位置?

    我在 iPad 程序中加载了 html 的 UIWebView 通过使用 webkit column width 我将 html 分为几列 padding 0px height 1024px webkit column gap 0px we

随机推荐

  • Powershell Add-Member - 但 JSON 中没有“Value”和“Count”元素

    我成功地将成员添加到 JSON 但最终得到了不需要的元素 我想要添加的是出现在结果 JSON 中的 Value 内的元素 Block1 value1 Block2 value2 Block3 然后执行 Add Member cmdlet o
  • MongoDB - 无法使用 .explain() 获取 C# 代码中的查询信息?

    我在用着蒙戈2 2 如何使用 C 访问查询信息 目前有以下方法来获取我的数据 var records collection Find filters ToList
  • 环境属性不会传递到 Elastic Beanstalk 中的应用程序

    部署我的 Django 项目时 未配置数据库设置 因为 RDS HOSTNAME in os environ回报false 事实上 部署时没有可用的环境属性 所有这些属性在部署后都可用 Running opt elasticbeanstal
  • JQuery 验证插件 - 无法验证类

    我正在尝试使用 jQuery 验证插件来验证类而不是 ID 尽管有许多线程似乎接近回答这个问题 我无法让它们中的任何一个工作 我只是有一个包含大量动态生成的重复表单字段的表单 因此我自然无法为 ID 添加规则 因为不知道会有多少个 因此 我
  • 如何更好地从 ASP 编辑 html?

    您好 我有一个 ASP 脚本需要编辑 实际上 我需要重新设计它发送的电子邮件 因此我需要编辑其中的 HTML 问题是 html 来自 asp 文件 每一行都有 HTML HTML 其中 加上一些其他更改 我需要从 ASP 中获取 HTML
  • Javascript 用实际字符替换 HTML 字符代码

    我有一个 HTML 输入文本 其值是从相关的 div 填充的 我的问题是 div 包含类似的字符 amp 它将正确显示为 登录 div 但将文本复制到文本框时 amp 将显示 我怎样才能转换 amp to and lt to lt nbsp
  • 如何向未绑定的 DataGridView 添加行?

    我有一个DataGridView在 C 中 我想在 a 中添加行程序化的方式 没有数据绑定到网格 但是当我调用时dataGrid Rows Add 它抛出一个System InvalidOperationException 我查遍了互联网
  • 在没有适当 REST-Api 的情况下测试 RestSharp 的反序列化

    EDIT 问题的答案可以在 John Sheehan 的第一条评论中找到 我想用雷斯特夏普作为我的项目的休息客户端 由于REST服务器尚未运行 我想在没有服务器的情况下测试客户端 我的主要关注点是返回的 XML 响应的反序列化 是否可以在没
  • Vue.js 2 中 v-for 语句内的转换组

    我有一个projects我之后填写的对象axios称呼 然后我就循环了projects对象使用v for指示 这是代码 ul class row projects list li project project name br li ul
  • WebGL 浮点模数行为

    我遇到以下片段着色器的奇怪行为 varying vec3 worldSpaceCoords uniform float rows void main float testNumber 7 0 vec4 outputColor vec4 0
  • 如何按第一个元素(字符串)按字母顺序对元组列表进行排序[PYTHON] [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 目前不接受答案 我有一个像这样的元组列表 peter 1 mary 5 anthony 6 brandon 4 如果我想对这个列表进行排序并得到类似的内容 anthony 6 brandon
  • matplotlib pyplot.show:无效的 RGBA

    我只需要绘制 3D 散点图 from mpl toolkits import mplot3d from matplotlib import pyplot as plt ax plt axes projection 3d ax scatter
  • 以编程方式从图像中提取文本

    我正在寻找一种编程方式来检索图像上的文本 我不知道是否有任何此类工具可用 我需要先下载图像 然后从中提取文本 有没有任何编程方法可以做到这一点 超立方 OCR可以从图像中提取文本 你到底是什么意思extract
  • 替换失败的模板专门化

    考虑这个函数 template
  • 使用 MongoDB 聚合框架四舍五入到小数点后两位

    我正在使用 mongodb 聚合框架并进行一些计算 如下所示 db RptAgg aggregate group id Region RegionTxt Mth Month ActSls sum ActSls PlnSls sum PlnS
  • 优化列表视图,包含 1k 对象列表

    我想知道是否有任何优化的方法来创建一个可容纳超过 1k 对象的适配器 我尝试了以下方法 但结果仍然不乐观 A 视图支架模式 它有帮助 但当对象尺寸增加时 它开始出现问题 B 注意 我可以使用分页 api 来传递定义数量的对象 但我的场景中没
  • 如何在PHP编辑页面中选中单选按钮?

    在 php 形式中 我将数据从单选按钮获取到数据库 效果很好 但是在编辑页面中如何从数据库中获取选中的值 td align left valign middle td
  • Linq to Entities - SQL“IN”子句

    在 T SQL 中 您可以有如下查询 SELECT FROM Users WHERE User Rights IN Admin User Limited 您将如何在 LINQ to Entities 查询中复制它 有可能吗 你需要彻底改变你
  • 如何生成某个公历年到回历的日期

    我想自动适应或生成一年中的日子 从公历到回历 我的意思是您想选择或写入年份作为示例 选择2015年 获取公历 2015 年的所有日期 然后将其转换为回历并显示回历列表 所以你想返回 2 个列表 list1 公历天列表 vs 另一个列表2 h
  • 添加 QLPreviewController 作为子视图不会加载 PDF

    我正在尝试添加 QLPreviewController 的视图作为子视图 不 我不能使用导航控制器或模式 它仅显示 QLPreviewController 的结构背景 我创建一个并将其添加为子视图 QLPreviewController p