2017-10-26 3 views
2

Mein Ziel ist es, die Schriftart des gesamten Textes in UIImagePickerController zu steuern.Schriftart der UIImagePickerController Etiketten ändern

Ich hatte zuvor eine UILabel-Erweiterung und die Darstellung Proxy verwendet, um Schriftart für alle UILabels zu steuern.

extension UILabel { 

    var defaultFontName : String { 
     get { return self.font.fontName } 
     set { self.font = UIFont(name: newValue, size: self.font.pointSize) } 
} 

Ich legte die Standardschrift in AppDelegate.

UILabel.appearance().defaultFontName = kDefaultFontName 

Zuvor dies den UIImagePickerController erweitert, dass ich programmatisch mit alle Zelle und Bild in meinem Projekt erstellt Etikett die Standardschriftart nehmen. Nach der Aktualisierung von Xcode 9 und Swift 4 funktioniert das nicht.

Ich habe versucht, den Darstellungsproxy speziell für UILabels in der UIImagePickerControllerClass anzupassen und der Standardschriftart eine bestimmte Punktgröße ohne Erfolg zu geben.

Warum funktioniert das nicht mehr?

Wie kann ich auf die Schriftart im UIImagePickerController zugreifen?

+0

Dies ist eine Art "Hacky" -Ansatz. 'UIImagePickerController' hat keine Standardoption zum Ändern der Schriftart. Implementieren Sie Ihre eigene Bildauswahl, wenn Sie die Darstellung anpassen möchten. – the4kman

+0

@ the4kman Danke. Ist es Hacky, mit dieser Methode Schriftarten in einer App zu setzen? – Yarn

+0

Nein, nicht unbedingt. Systemsteuerelemente sollten jedoch mit der Standardschriftart angezeigt werden. – the4kman

Antwort

0

Sie sollten solche Tricks nicht verwenden, um das Systemverhalten zu ändern. Denn auch wenn Sie diese Hacky-Tricks machen, könnte es sicherlich in iOS 12 kaputt gehen. So, jetzt funktioniert es nicht, wegen .appearence. System-Controller, wie der Bilderwähler, werden separat erstellt und verwenden kein Aussehen, um sie selbst zu erstellen. Seit ios11. Aber in ios10 gab es so etwas wie eine Warnung in der Dokumentation