我偶然发现了 this SO discussion关于添加/删除 qlpreviewcontroller 的 uibarbuttonitems。但是,他们删除了导航栏并在其上覆盖了一个新导航栏。
我主要想更改工具栏,因为 QLPreviewController 附带的工具栏是黑色的,而我的应用程序中的其余工具栏是白色的。
我有适当的代码来覆盖栏,但似乎当我将工具栏色调颜色设置为白色时,它实际上变成了浅灰色。我在想这是因为工具栏不是不透明的,但在将 alpha 设置为 1.0 后它看起来仍然一样。
来自扩展 QLPreviewController 类的相关工具栏代码
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
....
self.overlayToolBar?.setItems([actionBtn], animated: false)
self.overlayToolBar?.tintColor = .blue
self.overlayToolBar?.barTintColor = .white
}
上一屏幕的工具栏
QLPreviewController 屏幕中的工具栏
QLPreviewController 的原始工具栏
是否有不同/更好的方法来设置工具栏颜色?由于 QuickLook 通过 XPC 运行,我无法直接编辑工具栏。因此,我必须执行此迂回操作 hack 才能在屏幕上获得自定义工具栏。
最佳答案
当我试图不显示 QLPreviewController 上的所有项目时,我遇到了类似的问题。
我最终继承了 QLPreviewController:
import QuickLook
class PreviewController: QLPreviewController {
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
navigationItem.leftBarButtonItems = nil
}
}
关于ios - 在 QLPreviewController 工具栏上放置白色工具栏看起来是灰色的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41107566/