我不熟悉发展和敏捷。我正在尝试使用可打开集合文件的按钮来实现一系列.usdz文件的快速预览。我已经能够实现PreviewController,但是,我无法使按钮特定于一个文件。当前,每个按钮仅打开集合的第一个文件。因此,我正在寻找一种定义每个按钮打开集合中哪个文件的方法。
我尝试为每个按钮在PreviewController函数中定义“ let FileUrl”声明,但是,这不适用于QLPreviewItem的FileURL,该URL已在项目的PreviewController函数的定义中定义。
这是我当前拥有的PreviewController函数的定义:
func previewController(
_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem {
let fileUrl = Bundle.main.url(forResource: modelNames[modelIndex], withExtension: "usdz")!;
return fileUrl as QLPreviewItem
}
这是带有PreviewController函数的按钮之一的IBAction的一个实例:
@IBAction func to_ARzinc(_ sender: Any) {
func numberOfPreviewItems(in controller: QLPreviewController) -> Int {
return 1
}
func previewController(
_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem {
let fileUrl = Bundle.main.url(forResource: "DNA with Zinc Finger", withExtension: "usdz")!;
return fileUrl as QLPreviewItem
}
let previewController = QLPreviewController()
previewController.dataSource = self
previewController.delegate = self
present(previewController, animated: true, completion: nil)
}