在QLPreviewController工具栏上放置白色工具栏看起来是灰色的

时间:2016-12-12 18:52:08

标签: ios swift uitoolbar qlpreviewcontroller

我偶然发现了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
}

上一屏幕的工具栏

enter image description here

来自QLPreviewController屏幕的工具栏

enter image description here

QLPreviewController的原始工具栏

enter image description here

是否有不同/更好的方法来设置工具栏颜色?由于QuickLook通过XPC运行,我无法直接编辑工具栏。因此,我必须在环形 hack 上进行此操作才能在屏幕上显示自定义工具栏。

1 个答案:

答案 0 :(得分:4)

当我试图不在QLPreviewController上显示所有项目时,我遇到了类似的问题。

我最终继承了QLPreviewController:

import QuickLook

class PreviewController: QLPreviewController {

    override func viewWillAppear(animated: Bool) {
        super.viewWillAppear(animated)

        navigationItem.leftBarButtonItems = nil
    }

}