Wie man UILabel daran hindert, "..." durch ein Auslassungszeichen zu ersetzen

9

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?

    
Ibmurai 19.11.2013, 19:24
quelle

4 Antworten

1

Alternative Nummer drei: Fügen Sie einen Null-Breite-Abstand (U + 200B) zwischen den Punkten ein.

(Wird als Antwort auf Anfrage des OP veröffentlicht)

    
Cyrille 27.11.2013, 10:22
quelle
2

Dies ist eine Ligatur und iOS scheint sie automatisch zu ersetzen (wie fl wird ). Es scheint, als gäbe es einige Optionen, um sie zu deaktivieren, siehe diese Frage: Angrenzende "f" und "l" Zeichen

    
Cyrille 19.11.2013 21:40
quelle
1

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.

    
David H 19.11.2013 21:05
quelle
0

Eine andere Alternative: Die Ellipse ist ein wahrer Charakter für sich. Warum versuchst du nicht, es selbst in deiner Schriftart (mit Fontlab, FontForge oder Glyphs) auf der gleichen Breite wie die anderen Zeichen hinzuzufügen?

    
Cyrille 20.11.2013 07:11
quelle

Tags und Links