2017-11-26 5 views
2

Ich sehe ein Problem in meinem UIDocumentPicker Navigationsleiste nur bei iOS 11, die getan, abbrechen oder bearbeiten Tasten sind unsichtbar, und wenn der Benutzer es berühren, erscheint es dh die Farbe bei normal Zustand ist weiß, auch wenn die UINavigationBar.appearnce().tintColor geändert wird, änderte sich die Farbe nur bei Berührung.UIDocumentPicker Navigationsleiste Tasten sind bei iOS 11 versteckt

enter image description here enter image description here

+0

'UINavigationBar.appearance(). TintColor = tintColor' arbeiten müssen. – Vyacheslav

+0

Ich habe genau das gleiche Problem! Die Tasten werden nicht angezeigt, funktionieren aber, wenn sie angezapft werden. – franswa

Antwort

0

Verwenden CustomDocumentPickerViewController mit schwarzem appearance für UINavigationBar und UIBarButtonItem

import UIKit 

class CustomDocumentPickerViewController: UIDocumentPickerViewController { 

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

     UINavigationBar.appearance().tintColor = UIColor.black 
     UIBarButtonItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName : UIColor.black], for: .normal) 
    } 

    override func viewWillDisappear(_ animated: Bool) { 
     super.viewWillDisappear(animated) 

     UINavigationBar.appearance().tintColor = UIColor.white // your color 
     UIBarButtonItem.appearance().setTitleTextAttributes(nil, for: .normal) 
    } 

} 
2

Aus unbekannten Grund habe ich herausgefunden, dass, wenn Sie eine Unterklasse von UIDocumentPicker mit Objective-C machen und die [UINavigationBar appearance].tintColor = [UIColor black]; in viewWillAppear func gesetzt, und setzen Sie es auf Ihren Vorgaben im viewWillDisappear es gut funktioniert.

Aber wenn Sie die gleichen Schritte mit swift tun es nicht tun.

+0

richtige Antwort & ihre Arbeit ... –

Verwandte Themen