添加 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 的相关文章

  • 如何使用 iPhone SDK 实现可滑动的图像堆栈(例如照片应用程序)?

    我想获取一堆图像 或者可能是一组用于下载图像的 URL 并以全屏方式显示它们 一次一个 使用 iPhone SDK 使用用户滑动来平滑地为堆栈中的下一个图像设置动画 Apple 的 Photo app 似乎可以做到这一点 此外 如果尚未检索
  • 修补应用内购买黑客;卡在第四步

    正如我们许多人所知 苹果最近出现了一种情况 黑客可以免费获得任何应用内购买 苹果最近发布了这个文件 http developer apple com library ios releasenotes StoreKit IAP Receipt
  • ios 用户如何取消 Facebook 登录?

    当用户到达此屏幕时 无法取消 我能做些什么 为了首先获得这个视图 我正在运行 NSMutableDictionary params NSMutableDictionary dictionaryWithObjectsAndKeys vid l
  • 使用 iOS 8 自定义键盘发送图像?

    我一直在为 iOS 8 开发自定义键盘 但在尝试使用键盘发送图像时偶然发现了一个问题 我做了一些研究 似乎没有一种简单的方法可以做到这一点UITextDocumentProxy因为只有NSStrings被允许 我是否忽略了使用自定义键盘发送
  • 将永久字符添加到 UITextField

    有没有办法将字母永久添加到 UITextField 中 用户无法删除它 我想添加一个字符 用户无法删除它 但他们仍然可以在之后添加字母 Cheers 附注这是适用于 iOS 的 A UITextField有一个名为 应该更改范围内的字符 的
  • iPhone 应用程序中的异步、同步、线程

    我正处于一个应用程序的设计阶段 该应用程序将利用 REST Web 服务 并且在使用异步 同步和线程方面遇到了困境 这是场景 假设您有三个选项可供深入研究 每个选项都有自己的基于 REST 的资源 我可以使用同步请求延迟加载每个请求 但这会
  • 在横向中自动调整 UITableCells 内容的大小

    在 UITableView 中 我通过 UILabels 将内容添加到单元格中 定义最佳尺寸 与单元格宽度允许的一样大 我注意到只有tableView contentSize width是可靠的 因为cell contentView bou
  • 带操作按钮的颤动本地通知

    我在我的 flutter 项目中尝试了 flutter 本地通知插件 它在简单通知上工作正常 但我需要带有操作按钮的通知功能 请帮助我或建议我实现此功能 不幸的是 flutter local notifications 插件尚不支持操作按钮
  • 是否可以使用 Firebase 安排推送通知? [复制]

    这个问题在这里已经有答案了 我已经阅读了我能找到的所有文档 但仍然不知道这是否可行 如果我是用户 我可以安排特定时间的推送通知吗 Example 1 我是用户并打开应用程序 2 我允许通知并转到 pickerView 或其他任何内容 并设置
  • 在 Xcode 5 中重命名 iOS 项目[重复]

    这个问题在这里已经有答案了 我需要重命名一个 iOS 项目 有没有办法在不开始一个全新项目的情况下做到这一点 我发现的所有其他信息都与 Xcode 4 或旧版本相关 这些方法似乎使项目崩溃 我在尝试任何名称更改之前创建了一个快照 在 Xco
  • 在 OS X 上创建和使用静态库

    好的 我正在尝试创建一个 Cocoa 库 静态 并使用 但我不断收到错误 我创建了一个超基本的静态库 TSXLib 其中仅包含一个额外的类 import
  • 将 SSLSetEnabledCiphers 与 AFNetworking 结合使用来禁用弱密码

    我正在尝试禁用一些密码 弱 例如单个 DES 单个 DES 40 位等 我尝试过使用这段代码在 Cocoa 中使用 CFSocket CFStream 时如何设置 SSL 密码 https stackoverflow com questio
  • 将 Firebase 云消息传递与 Windows 应用程序结合使用

    我在 Android 和 iOS 应用程序中使用 Firebase Cloud Messaging 但是我还有此应用程序的 Windows Mac OS 版本 我想保留相同的逻辑 我知道 Firebase Cloud Messaging 可
  • Firebase 身份验证问题 - 通过电子邮件地址检查用户是否存在

    我在 Firebase 上创建了一个帐户 它有效 但现在我想阻止人们使用已存在的电子邮件地址创建帐户 这是代码 DatabaseManager shared userExists with email completion weak sel
  • Objective-C – 拥有包含 TestFlight SDK 的 TestFlight 配置

    我已按照 TestFlight 的说明复制 发布 配置 我还使用 TestFlight SDK 从我的应用程序获取实时报告 通过这样做 我必须在我的应用程序中包含一些 TestFlight 代码 当然 我不想在我的应用程序的发布版本中包含此
  • UIPanGestureRecognizer 对坐标的限制

    我在主 UIView 中添加了一个子视图 称为panel 并且我向其中添加了gestureRecognizer 因为我希望它只能在Y轴上拖动并且只能在某些限制下 即160 300 超过300它不能拖动 我以这种方式实现了手势处理 IBAct
  • AVAssetExportSession 为零 iPhone 7 - Plus 模拟器

    AVAssetExportSession在 iPhone 6 及以下版本上运行良好 但在 iPhone 7 iPhone 7 Plus 模拟器上运行不佳 Xcode 8 0 这段代码return nil在exportSession中 当在i
  • ios水平居中约束问题?

    I am having hard time in learning constraints auto layout in iOS I have used any width any height I have a storyboard sc
  • 如何将 ios7 通用应用程序升级到基于 Xcode 6 的通用故事板应用程序?

    我目前有一个基于 xcode 5 ios 7 的通用应用程序 因此有两个故事板 我正在考虑将其更新到 ios 8 有没有办法 最佳方法将两个故事板迁移到通用的单个故事板 我在 xcode 6 中看不到转换选项 None
  • UIView晃动动画

    我试图在按下按钮时使 UIView 摇动 我正在调整我找到的代码http www cimgf com 2008 02 27 core animation tutorial window shake effect http www cimgf

随机推荐

  • 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