2012-06-24 10 views
22

enter image description here Próbowałem wejść do małego trójkąta skierowanego w prawo i prawej strzałki, oba są konwertowane przez iOS na prostokątne ikony odpowiednio z trójkątem prostokątnym i strzałką w prawo. Czy mogę zadeklarować inną czcionkę, aby temu zapobiec? Czy jest jakieś ustawienie domyślne, które muszę wyłączyć?Jak zatrzymać przekształcanie przez iOS małego trójkąta z prostym trójkątem prostokątnym w trójkąt prostokątny?

Wszystko Umieść to mały czarny trójkąt wskazujący prawej:

dziesiętny Hex
▸ 9656 ▸ 25B8

Oto kod:

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

Wszelkie sugestie będą mile widziane.

+0

W jaki sposób wprowadzasz te postacie? Przez kod? Czy korzystasz z kodów znaków, czy wklejasz znak bezpośrednio? –

+0

Próbowałem to w obie strony, miał taki sam wynik. – MyopicVisage

+0

Czy system iOS automatycznie tworzy niebieskie pole wokół znaków? Nie używasz niestandardowej kontroli, która by to zrobiła? –

Odpowiedz

-1

To wydaje się być glifem czcionki systemowej dla 25B8. Przypuszczam, że to samo mogłoby się zdarzyć w przypadku 2B05 (lewoskrętna czarna strzałka) i 25C0 (czarny lewy trójkątny trójkąt). Są one poza Apple Emoji.

Możesz spróbować użyć innej czcionki.

Nadzieję, że pomaga.

+0

inna czcionka nie pomogła, ponieważ używam innej niż domyślna czcionki. Zastępuje on tylko encje html przyciskami – Farside

19

Nie chodzi o zmianę czcionki, ale o odmianę Unicode. W kodzie Unicode 6.1 jeden kodowy kod Unicode może mieć wiele glifów i można wybrać te, które używają selektorów zmian.

Aby wybrać emoji, można użyć U + FE0E (@ "\ U0000FE0E"), aby wybrać styl tekstu. (I, U + FE0F (@ "\ U0000FE0F") jest dla Apple Color Emoji).

Na przykład, punkt kodu unicode TRÓJKĄTKOWEGO TRÓJKĄTNA to U + 25C0 (@ "\ U000025C0"), a użytkownik może określić, że nie będzie używał emoji Apple Colour Emoji, ale nie będzie oznaczać symbolu innego koloru, jak @ "\ U000025C0 \ U0000FE0E".

Co więcej, istnieje pewna różnica między emulatorem iOS (dla iOS6 na Mountain Lion) a rzeczywistym urządzeniem (iOS6) o obsłudze selektora zmian, prawdopodobnie dlatego, że Mountain Lion ma większe wsparcie dla Unicode 6.1, jak sądzę.

Na przykład, jeśli nie określę selektorów, widzę trójkąt inny niż kolor na urządzeniu iOS6, ale trójkąt koloru Apple na symulatorze iOS6 (w Mountain Lion), w przypadku przycisku UIBarButton.

Dobrze jest więc sprawdzić zarówno symulator, jak i rzeczywiste urządzenie, ale bezpieczniej jest korzystać z selektorów odmian Unicode zawsze i tak.

+1

Dodanie selektora zmian wydaje się działać na iOS 6, ale nie na iOS 5. –

+5

Miałem ten problem w iOS 9 z treścią CSS: "\ 25C0"; '- zmieniając ją na' content: "\ 25C0 \ FE0E" 'wydawało się naprawić to dla mnie (w oczekiwaniu na niektóre QA). – Brendan

1

Aby pokazać czarną strzałką w prawo emotikonów, powinniśmy wybrać ▸ zamiast ▶ lub ► w celu uniknięcia Jabłko Emotikon

▸ jest mniejszy niż dwa pozostałe, ale można ustawić font-size, aby dostosować go. Działa dla mnie.

10

Trudno było zmusić przeglądarkę do renderowania encji HTML na iPadzie/iPhonie, ale udało mi się znaleźć rozwiązanie i oto sztuczka.

Zamiast podmioty HTML bezpośrednio:

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

Stworzyłem elementy wspierające w HTML, z klas:

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

Z wykorzystaniem CSS ::after pseudo-elementu dokonał override do zawartość:

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

Ważną częścią jest użycie content: "\25C0 \FE0E", zamiast samego samego symbolu content: "\25C0". Działa bez zarzutu zarówno na iPadzie, jak i iPhonie w różnych wersjach iOS.

+2

To była odpowiedź, która zadziałała dla mnie, dzięki. – mxcl

4

Używam tych znaków Unicode, aby zatrzymać iOS z fiddling:

prawym trójkąt: & # x25ba; (& # x25ba)

Lewy trójkąt: & # x25c4; (& # x25c4)

Powiązane problemy