2015-01-28 2 views
4

QLPreviewController를 사용하여 PDF를 보려고하는데 탐색 바 머리글과보기 배경과 같은 일부보기 속성을 변경하는 데 어려움을 겪고 있습니다. QLPreviewController의 배경색을 변경할 수 있습니까?

나는 그러나 나는 navigationBar.title 변경 또는 self.view.backgroundColorbackgroundColor 속성을 드릴 수 없습니다, QLPreviewController를 서브 클래스와 didViewAppear 방법에 self.navigationController.navigationBar.translucency = NO;을 변경 한 후 탐색 바의 투명도를 변경 할 수 있었다.

보기가 처음로드 될 때 제목과 배경색이 모두 깜박이지만 PDF 제목 문자열과 PDF 자체가보기의 배경색을 오버레이하여 즉시 대체됩니다. PDF 페이지는 검정색 배경 위에 나타납니다.

하위 클래스로 만들거나 다른 방법으로 배경색을 내 사용자 지정 색으로 변경할 수있는 경우 먼저 다른 사용자에게 제안 사항이 있는지 알기를 원하거나 해당 배경색을 변경하는 데 알맞은 솔루션을 알고 싶습니다.

제목 값이 더 작은 경우에도 마찬가지입니다. 그것에 스위프트 4 개 서브 클래스 UINavigationController가에서

+0

혹시이 작업을 얻었 는가? 나는 같은 문제가있다, 그것은 깜박이는 검은 색이다 ... – xaphod

+0

FYI 서브 클래 싱하여 깜박 거리는 문제를 없애고, navbar가 항목을 열 때 가끔 모든 검정색으로 바뀌는 문제 ... 내 하위 클래스 viewWillAppear에서 이것을 가지고있다 : – xaphod

답변

2

넣어 :

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