在 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
    }

}