iOS PDFKit 开发指北

iOS PDFKit 开发指北,第1张

2017年夏天,在苹果全球开发者大会(WWDC)上,苹果公司终于推出了针对于 iOS 的 PDFKit 支持。PDFKit 自从 MacOS 104 以来一直在 AppKit for MacOS 中。但 UIKit 却迟迟得不到支持,尽管苹果公司之前在 iBooks 和 Mail 中使用过 PDFKit , 但是该框架并未向开发人员开房。

PDFKit 包含了大量关于 PDF 相关的功能,例如,打开,修改,绘图和保存 PDF ,也包含了搜索文本。在 iOS 11 后,苹果终于开放了 PDFKit 。目前(虽然离 PDFKit 发布已经过了一年多),但是目前中文资料和 Demo 确实比较少,下面笔者就带着大家简单的了解一下 PDFKit。

主要核心功能如下:

PDFView

PDFDocument

PDFPage

PDFAnnotation

让我看到你们的双手, put your hands up!

引入 #import <PDFKit/PDFKith> ,创建 PDFView ,创建之前,首先要创建 PDFDocument ,这里通过文件路径 URl 进行创建。

创建 PDFView ,将 PDFDucument 对象赋给 PDFView。

至此,就实现了 PDF 的读取及显示。

首先获取 PDFDocument 的属性 PDFPage :

通过 PDFPage 的对象方法,可以获取 PDF 的缩略图,这里需传入的 size:

创建 collectionViewCell ,通过 collectionView 就可以实现一个大致的功能。

点击跳转

获取 cell 的点击事件,取出所点击的 PDFPage 对象,用下述方法进行跳转:

PDFOutline 是一个层级关系的对象,他表示 PDF 的大纲(也就是我们常用的书签)。每个 PDFOutline 对象都可通过 childAtIndex: 方法获取出他的孩子对象, 注意 ,这里需要先判断 numberOfChildren ,以确定该 outline 对象存在多少个孩子节点,避免下标超界引发的崩溃。

实现大纲功能

从 PDFDocument 中获取 PDFOutline

遍历 outline 孩子节点(默认只遍历一层)

当点击节点时,判断有无孩子节点,进行当前数组的新增或删除。

这里搜索功能主要靠下述方法实现

调用此方法之前,首先需将 PDFDocument 设置代理,通过 PDFDocument 的代理进行回调。获取 PDFSelection 对象,

再根据 selection 对象显示搜索内容。

调用下述方法即可对 PDFView 进行缩放,

实现双击缩放或还原:

这里通过设置 pdfView 的 scaleFactor 属性即可实现, 注意 : scaleFactorForSizeToFit 属性是当前 PDF 充满屏幕的比例。

GitHub : >

只是显示文件夹应用属性,

在点开文件夹後,该窗口右下角有个调整图标缩略图的控制杆,

还有个办法就是你知道文件名称,直接control+空格键

再右上角会出现mac内配搜索引擎输入文件名称以后,

便能简单快捷的找到

问了一下朋友,查了一下官方文档,原来是我的大小问题。

现提供压缩方法~

NSData compressData = nil;

compressData = UIImageJPEGRepresentation(screenShotImage, 01);

UIImage image = [UIImage imageWithData:compressData];

使用这个压缩好的UIImage即可~

[message setThumbImage:[UIImage imageWithData:compressData]];

众所周知,在观看视频时,很多用户都有切换视频清晰度的需求,毕竟超清就是看的爽!所以,很多视频类的app都会有清晰度切换的功能。但是,很多app并没有在清晰度切换的时候给用户很好的体验效果,如下图:

这是因为清晰度的切换,其实是切换了不同清晰度的视频URL,也就是释放原先播放的资源,重新加载资源。重走加载的方法,会导致切换时黑屏的出现。当然,这不是bug。但是,有很多app能在切换清晰度的能做到无缝切换,即:保持正在播放的界面,会有一点小动画提示正在切换,等到切换完成时继续播放。这样的用户体验就很好。其实,想实现这个效果并不难。

第一步:获取当前播放的时间,暂停播放器,获取到当时播放的缩略图

第二步:在播放器的代理方法里判断缓冲时间,如果缓冲时间大于等于当前播放时间,就让播放器播放,然后显示的imageView也一并隐藏,这样的效果就非常不错!

最后,动画效果大家自己添加哈。

GitHub源码

以上就是关于iOS PDFKit 开发指北全部的内容,包括:iOS PDFKit 开发指北、ios 怎么把获取到的相册缩略图放到uiimageview上、苹果系统中怎么让网页缩略图显示等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9529171.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存