在 QLPreviewController 工具栏上放置白色工具栏看起来是灰色的
Laying white toolbar over QLPreviewController toolbar is looking gray
我在 adding/removing qlpreviewcontroller 的 uibarbuttonitems 上偶然发现了 this SO discussion。然而,他们删除了导航栏并在其上覆盖了一个新的导航栏。
我主要想更改工具栏,因为 QLPreviewController 附带的工具栏是黑色的,而我的应用程序中的其余工具栏是白色的。
我有适当的代码来覆盖栏,但似乎当我将工具栏色调颜色设置为白色时,它实际上变成了浅灰色。我以为这是因为工具栏不是不透明的,但是将 alpha 设置为 1.0 后它看起来还是一样。
来自 class 扩展 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 的原始工具栏
是否有 different/better 设置工具栏颜色的方法?由于 QuickLook 通过 XPC 运行,我无法直接编辑工具栏。因此,我必须执行此迂回 hack 才能在屏幕上获得自定义工具栏。
当我试图不显示 QLPreviewController 上的所有项目时,我 运行 遇到了类似的问题。
我最终继承了 QLPreviewController:
import QuickLook
class PreviewController: QLPreviewController {
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
navigationItem.leftBarButtonItems = nil
}
}
我在 adding/removing qlpreviewcontroller 的 uibarbuttonitems 上偶然发现了 this SO discussion。然而,他们删除了导航栏并在其上覆盖了一个新的导航栏。
我主要想更改工具栏,因为 QLPreviewController 附带的工具栏是黑色的,而我的应用程序中的其余工具栏是白色的。
我有适当的代码来覆盖栏,但似乎当我将工具栏色调颜色设置为白色时,它实际上变成了浅灰色。我以为这是因为工具栏不是不透明的,但是将 alpha 设置为 1.0 后它看起来还是一样。
来自 class 扩展 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 的原始工具栏
是否有 different/better 设置工具栏颜色的方法?由于 QuickLook 通过 XPC 运行,我无法直接编辑工具栏。因此,我必须执行此迂回 hack 才能在屏幕上获得自定义工具栏。
当我试图不显示 QLPreviewController 上的所有项目时,我 运行 遇到了类似的问题。
我最终继承了 QLPreviewController:
import QuickLook
class PreviewController: QLPreviewController {
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
navigationItem.leftBarButtonItems = nil
}
}