每当我调出QLPreviewController
时,tintColor
默认为粉红色。我希望它是一种特定的颜色,所以我把它设置为这样
UINavigationBar.appearance().tintColor = UIColor.hexStringToUIColor(hexStr: "202020")
这就是调出QLPreviewController
的方法的样子
func openQLPreview() {
quickLookController = QLPreviewController()
UINavigationBar.appearance().tintColor = UIColor.hexStringToUIColor(hexStr: "202020")
quickLookController.dataSource = self
self.navigationController?.pushViewController(self.quickLookController, animated: true)
}
这是第一次的样子(安装或关闭并重新打开后,我使用 QLPreviewController 打开文档
这就是当我点击后退箭头并打开同一文档或任何其他文档时的样子
我希望它始终是第二种颜色,无论它是否是我第一次打电话给QLPreviewController
。每当应用终止并重新启动时,它都会切换回粉红色。
编辑(2/12/19(我已经解决了。它不起作用的原因是我在将QLPreviewController
推送到navigationController
堆栈之前设置了 tintColor,因此,它正在为堆栈中的上一个导航项设置tintColor
(这没什么,因为我在整个应用程序中使用自定义navigationBar
(。因此,当QLPreviewController
从堆栈中弹出,然后在下次打开文档时推回时,tintColor
保留了我上次设置它时的内容。
func openQLPreview() {
quickLookController = QLPreviewController()
quickLookController.dataSource = self
self.navigationController?.pushViewController(self.quickLookController, animated: true)
UINavigationBar.appearance().tintColor = UIColor.hexStringToUIColor(hexStr: "202020")
}
因此,只需在推送QLPreviewController
后使用UINavigationBar.appearance().tintColor
设置色调,即可解决此问题。
试试这个
@IBOutlet weak var m_NavBar: UINavigationBar!
func openQLPreview()
{
quickLookController = QLPreviewController()
m_NavBar.appearance().tintColor = UIColor.hexStringToUIColor(hexStr: "202020")
quickLookController.dataSource = self
self.navigationController?.pushViewController(self.quickLookController, animated: true)
}