gpt4 book ai didi

swift - 无法在 USDZ + QLPreviewController 中隐藏共享按钮

转载 作者:行者123 更新时间:2023-11-28 05:49:46 25 4
gpt4 key购买 nike

我有一个项目涉及几个 USDZ 文件,用于应用程序中嵌入的增强现实功能。虽然这很好用,而且我们对它的表现非常满意,但 QLPreviewController 的内置共享按钮是我们想要删除的东西。对对象进行子类化没有任何效果,并且尝试使用委托(delegate)方法中返回的 Controller 隐藏 rightBarButtonItem 时,在选择文件时仍会显示按钮。我们使用的 USDZ + QLPreviewController 的实现非常基础。有办法解决这个问题吗?

func numberOfPreviewItems(in controller: QLPreviewController) -> Int {  
return 1
}


func previewController(_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem {

let url = Bundle.main.url(forResource: models[selectedObject], withExtension: "usdz")! controller.navigationItem.rirButtonItems = nil.
// <- no effect return url as QLPreviewItem

}

@IBAction func userDidSelectARExperience(_ sender: Any) {
let previewController = QLPreviewController()
previewController.dataSource = self
previewController.delegate = self
present(previewController, animated: true)
}

最佳答案

这是Apple的官方回答。使用 ARQuickLookPreviewItem 而不是 QLPreviewItem。并将其 canonicalWebPageURL 设置为一个 URL(可以是任何 URL)。

func previewController(_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem {
guard let path = Bundle.main.path(forResource: "Experience", ofType: "usdz") else { fatalError("Couldn't find the supported input file.") }
let url = URL(fileURLWithPath: path)
if #available(iOS 13.0, *) {
let item = ARQuickLookPreviewItem(fileAt: url)
item.canonicalWebPageURL = URL(string: "http://www.google.com")
return item
} else { }
return url as QLPreviewItem
}

版本检查是可选的。

关于swift - 无法在 USDZ + QLPreviewController 中隐藏共享按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53327377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com