ios - Xcode/Swift 4 打开 pdf 文件的静态表格单元格
问题描述
我理解在 VC 之间传递数据的概念。我想知道如何确保应该引用特定行来打开特定文件,以及我对 PDFKit 的使用是否正确。
我很难弄清楚如何管理表格单元格选择以在新的视图控制器中打开 pdf 文件,而我的故事板中没有数百个 segue。这是我的故事板的图片:(https://i.ibb.co/jL7nvhv/Screen-Shot-2019-05-07-at-2-41-42-PM.png)
我以前曾使用从单元格中拖放 segues 来查看控制器,但这很耗时,而且似乎会减慢应用程序的速度。在我提供的示例中,我希望让选定的单元格打开一个更详细地描述该单元格的 pdf 文件。
视图控制器之间有一个叫做“detailSegue”的segue。“Transport Detail VC”顶部有一个 UIView 和一个“PDFView 类”。当我从情节提要构建表格时,“传输表 VC”中没有部分或行数据。
//Transport VC (where i want PDF's to display):
import UIKit
import PDFKit
class TransportViewController: UIViewController {
@IBOutlet weak var pdfView: PDFView!
override func viewDidLoad() {
super.viewDidLoad()
if let path = Bundle.main.path(forResource: "", ofType: "pdf"){
if let pdfDocument = PDFDocument(url: URL(fileURLWithPath:path)) {
pdfView.displayMode = .singlePageContinuous
pdfView.autoScales = true
pdfView.displayDirection = .vertical
pdfView.document = pdfDocument
}
}
}
}
//Transport Table VC
import UIKit
class TableViewController: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
}
我不知道从哪里开始。如果我没有找到替代方案,我将回到 100 segue 方法。
理想情况下,我希望每个单元格打开自己的 pdf 文件(存储在本地并相应命名,即 ferari.pdf 等...)并将其显示在 Transport detail VC 上。
解决方案
在下面的示例中,我得到了表中文件的名称确实选择方法,并通过准备 segue 方法将其传递给 TransportViewController
请找到代码的保管箱链接
https://www.dropbox.com/s/2697rzajiu2vmm0/PDFSample.zip?dl=0
注意:仅适用于丰田,我在项目中添加了 PDF 文件
推荐阅读
- mongodb - MongoDb - 找到我当前对集群的读写问题
- python - 通过 jinja 变量发送和渲染 HTML 语法
- set - Z3:如何办理协会或会员资格?
- sqldatatypes - 关于 TDengine 支持的数据类型
- xamarin - MAUI Preview 9 使用 ObservableCollection 中断 CollectionView 更新?
- android-fragments - Kotlin Fragment RecyclerView Adapter ...试图使 ItemClickOnListener 工作
- version - epplus 和提供已签名的库
- flutter - Flutter 中的标签栏
- logstash - 如何在 Logstach 中解析此日志
- asp.net - 未发布的连接服务