2012-06-24 4 views
22

enter image description here Ich habe versucht, das kleine zeigende rechte Dreieck und die rechten Pfeilzeichen einzugeben, beide werden von iOS in rechteckige Symbole mit einem rechten Dreieck bzw. einem rechten Pfeil umgewandelt. Kann ich eine andere Schriftart deklarieren, um dies zu verhindern? Oder gibt es eine Standardeinstellung, die ich ausschalten muss?Wie verhindere ich, dass iOS ein kleines zeigendes rechtwinkliges Zeichen in ein rechteckiges Dreiecksymbol umwandelt?

Kauf ist ein schwarzer Alle kleinen nach rechts Dreieck:

Dezimal Hex
▸ 9656 ▸ 25B8

ist die Code:

NSString *title = [NSString stringWithFormat:@"%d payments of %@ ➡ ▶", duration, [Utils formatPrice:payment]]; 
    [button setTitle: title forState: UIControlStateNormal]; 

Irgendwelche Vorschläge geschätzt würde.

+0

Wie geben Sie diese Zeichen ein? Durch Code? Verwenden Sie Zeichencodes oder fügen Sie das Zeichen direkt ein? –

+0

Ich versuchte es in beide Richtungen, hatte das gleiche Ergebnis. – MyopicVisage

+0

Also erstellt iOS automatisch diese blaue Box um diese Charaktere herum? Sie verwenden kein benutzerdefiniertes Steuerelement, das das tun würde? –

Antwort

-1

Dies scheint die Systemschriftart für 25B8 zu sein. Ich würde annehmen, dass das gleiche für 2B05 (linker schwarzer Pfeil) und 25C0 (schwarzes linkes zeigendes Dreieck) passieren würde. Sie sind ein Teil von Apple Emoji.

Sie können versuchen, eine andere Schriftart zu verwenden.

Hoffe, dass hilft.

+0

andere Schriftart hat nicht geholfen, da ich nicht-Standard-Schrift-Gesicht verwenden. Es ersetzt nur HTML-Entities mit den Buttons – Farside

19

Es geht nicht um die Änderung der Schriftart, sondern um die Unicode-Variation. In Unicode 6.1 kann ein Unicode-Codepunkt mehrere Glyphen haben, und Sie können diese mit Variation Selectors auswählen.

Für etwa Emoji, können Sie U + FE0E (@ "\ U0000FE0E") verwenden, um Text Stil Diagramm zu wählen. (Und U + FE0F (@ "\ U0000FE0F") ist für Apple Color Emoji). Der Unicode-Codepunkt des LEFT-POINTING TRIANGLE ist beispielsweise U + 25C0 (@ "\ U000025C0"), und Sie können festlegen, dass kein Apple Color Emoji, sondern ein nicht farbiges Symbol wie @ "\ U000025C0 \ U0000FE0E" verwendet werden soll.

Auch gibt es einen Unterschied zwischen iOS Emulator (für iOS6 auf Mountain Lion) und tatsächlichen Gerät (iOS6) über Variation Selector Handhabung, wahrscheinlich weil Mountain Lion mehr Unterstützung für Unicode 6.1 haben, denke ich.

Zum Beispiel, wenn ich die Selektoren nicht angeben, sehe ich nicht-Farbdreieck auf iOS6 Gerät, aber Apple Color Dreieck auf iOS6 Simulator (auf Mountain Lion), für UIBarButton.

Es ist also nett, sowohl den Simulator als auch das tatsächliche Gerät zu überprüfen, aber es sieht auf jeden Fall sicherer aus, Unicode Variation Selectors zu verwenden.

+1

Hinzufügen der Variation-Selektor scheint auf iOS 6 zu funktionieren, aber nicht auf iOS 5. –

+5

Hatte dieses Problem in iOS 9 mit CSS 'content:" \ 25C0 ";' - Ändern zu 'Inhalt: "\ 25C0 \ FE0E" schien es für mich zu reparieren (bis zu einer gewissen QA). – Brendan

1

den schwarzen Pfeil nach rechts Emoji Um zu zeigen, wir ▸ statt ▶ oder ► um Apple-Emoji

▸ ist kleiner als die beiden anderen zu vermeiden, wählen sollten, aber Sie die font-size es anpassen einstellen. Funktioniert für mich.

10

Es war schwierig, den Browser dazu zu bringen, die HTML-Entität auf iPads/iPhones zu rendern, aber ich habe die Lösung gefunden, und hier ist der Trick.

Stattdessen HTML-Entitäten direkt verwenden:

&#9664; <!-- ◀ BLACK LEFT-POINTING TRIANGLE --> 
&#9654; <!-- ▶ BLACK RIGHT-POINTING TRIANGLE --> 

Ich unterstützende Elemente in HTML erstellt, mit den Klassen:

<span class="left-pointing-triangle">&nbsp;</span> 
<span class="right-pointing-triangle">&nbsp;</span> 

Mit der Verwendung von CSS ::after Pseudoelement machte die Überschreibung der Inhalt:

.left-pointing-triangle::after { 
    content: "\25C0 \FE0E"; 
} 
.right-pointing-triangle::after { 
    content: "\25B6 \FE0E"; 
} 

Der wichtige Teil ist,zu verwenden, anstatt nur Symbol selbst content: "\25C0". Es funktioniert tadellos auf iPads und iPhones verschiedener iOS-Versionen.

+2

Das war die Antwort, die für mich funktionierte, danke. – mxcl

4

ich diese Unicode-Zeichen verwenden iOS von Hantieren zu stoppen:

rechten Dreieck: & # x25ba; (& # x25ba)

Linkes Dreieck: & # x25c4; (& # x25c4)

Verwandte Themen