【问题标题】:Is it possible to change the background color of QLPreviewController?是否可以更改 QLPreviewController 的背景颜色?
【发布时间】:2015-01-28 19:23:06
【问题描述】:

我正在尝试使用 QLPreviewController 查看 PDF,但我正在努力更改一些视图属性,例如导航栏标题和视图背景。

在继承 QLPreviewController 并更改 didViewAppear 方法中的 self.navigationController.navigationBar.translucency = NO; 后,我能够更改导航栏的半透明度,但是我无法更改 navigationBar.titlebackgroundColor 的属性self.view.backgroundColor.

第一次加载视图时,标题和背景颜色都会闪烁,但会立即被 PDF 标题字符串和覆盖视图背景颜色的 PDF 本身取代。 PDF 页面显示在黑色背景上。

我想首先知道是否可以将该背景颜色子类化或以其他方式更改为我自己的自定义颜色,然后我想知道是否有人有任何建议或知道更改该背景颜色的体面解决方案。

title 值在较小程度上也是如此。

【问题讨论】:

  • 你有没有得到这个工作?我有同样的问题,它闪烁黑色......
  • 仅供参考,通过子类化我摆脱了闪烁的问题,以及导航栏有时在打开项目时全黑的问题......在我的子类视图中我有这个:

标签: ios objective-c iphone qlpreviewcontroller


【解决方案1】:

在 Swift 4 子类 UINavigationController 中并放入:

    override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.

    UINavigationBar.appearance(whenContainedInInstancesOf: [QLPreviewController.self]).isTranslucent = false
    UINavigationBar.appearance(whenContainedInInstancesOf: [QLPreviewController.self]).tintColor = #colorLiteral(red: 0.1889409125, green: 0.6918108463, blue: 0.9730117917, alpha: 1)
    UINavigationBar.appearance(whenContainedInInstancesOf: [QLPreviewController.self]).titleTextAttributes = [NSAttributedStringKey.foregroundColor: UIColor.white]
  }

【讨论】:

    猜你喜欢
    • 2012-06-19
    • 1970-01-01
    • 2013-01-28
    • 1970-01-01
    • 2017-11-10
    • 1970-01-01
    • 1970-01-01
    • 2017-04-16
    • 1970-01-01
    相关资源
    最近更新 更多