Ich habe eine iOS-App, die eine Schriftart mit fester Breite ausgiebig verwendet.
Nach dem Wechsel zu iOS 7 sdk und Build Target 6.1 ersetzt die gesamte Beschriftung automatisch das Auftreten von drei Satzzeichen durch ein Auslassungszeichen. Das macht vieles kaputt und sieht komisch aus, da das Ellipsenzeichen in der von mir verwendeten Schriftart nicht vorhanden ist und iOS es für angebracht hält, eines aus einer anderen Schriftart zu verwenden.
Wie kann ich dieses Verhalten stoppen?
Dies ist eine Ligatur und iOS scheint sie automatisch zu ersetzen (wie fl
wird fl
). Es scheint, als gäbe es einige Optionen, um sie zu deaktivieren, siehe diese Frage: Angrenzende "f" und "l" Zeichen
Um dies zu vermeiden, ersetzen Sie die ASCII-Punkte durch ein Unicode 2024-Zeichen ("ONE DOT LEADER"). Es sieht genau wie ein Punkt aus, sollte aber nicht automatisch konvertiert werden.
Was Sie tun könnten, wenn dies weit verbreitet ist, besteht darin, alle Ihre UILabels in eine Unterklasse MyLabel zu ändern und Nachrichten abzufangen, um den Text festzulegen. Suchen Sie nach drei Punkten und ändern Sie sie, falls sie gefunden werden, in das obige Unicode-Zeichen.
Ja, das ist eine große PITA, aber ich kenne keine andere Problemumgehung.
BEARBEITEN
Eine andere Idee - finde ein Open Source UILabel (es muss mindestens eins geben) und benutze es.
Tags und Links objective-c ios uilabel