Я новичок в разработке и быстро. Я пытаюсь реализовать предварительный просмотр для ряда файлов .usdz с помощью кнопок, открывающих файлы набора. Мне удалось реализовать PreviewController, однако я не могу сделать кнопки, специфичные для одного файла. В настоящее время каждая кнопка открывает только первый файл набора. Поэтому я ищу способ определить, какой файл в наборе открывается каждой кнопкой.
Я попытался определить объявление «let FileUrl» в функции previewController для каждой кнопки, однако это не работает для FileURL, поскольку QLPreviewItem уже определен в определении функции previewController для проекта.
Это определение для функции previewController, которая у меня сейчас есть:
func previewController(
_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem {
let fileUrl = Bundle.main.url(forResource: modelNames[modelIndex], withExtension: "usdz")!;
return fileUrl as QLPreviewItem
}
Это один экземпляр IBAction для одной из кнопок с функцией previewController:
@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)
}