2011-11-08 11 views
7

Siempre he pensado que era genial poder usar caracteres Unicode icónicos simples en una cadena cuando necesitaba una flecha o una viñeta o lo que fuera. Los glifos se renderizan en el mismo color que el resto de la cadena con un bonito iconos simples y limpios. Pude obtener una vista previa de cómo se verían utilizando el cuadro de diálogo "Caracteres especiales" de Mac en el menú Edición en XCode.Íconos de iOS5 (¿emoji?) Para caracteres Unicode especiales, no es lo que quiero

En iOS5, estos glifos se muestran a todo color y no son simples ni limpios. Creo que estos son iconos de Emoji?

Estoy buscando una explicación de este cambio, e idealmente cómo forzar a iOS5 a volver al comportamiento iOS2 - iOS4.

He aquí un ejemplo: @"← left arrow, right arrow → airplane ✈";

Editar:

Al parecer, las extensiones NSString UIKit para renderizado de texto (drawAtPoint:/drawInRect:) no presentan este comportamiento. Entonces, ¿quizás es algo de UILabel? Específicamente lo he notado dentro de un botón de segmento UISegmentControl y en un UILabel.

+0

Recomiendo presentar un error. Hay muchas veces que desea el carácter Unicode, y esto debe estar bajo el control de la aplicación. –

Respuesta

1

Esto no es un error, depende de la fuente utilizada. Cuando utiliza un carácter en una cadena que no está disponible en la fuente elegida, iOS sustituye automáticamente un glifo de otra fuente.

La fuente del sistema (Helvetica) no tiene esos caracteres, por lo que supongo que Apple ha cambiado la lista de fuentes de respaldo para que Emoji clasifique por encima de lo que estaba utilizando anteriormente para el retorno de esos caracteres .

Para solucionarlo, busque una fuente que a) tenga la versión de los caracteres que desee y b) esté disponible en iPhone y configure su etiqueta para usarla en lugar de la fuente del sistema predeterminada.

Como alternativa, puede crear una subclase UILabel y anular el método drawRect para que use los métodos drawAtPoint/drawInRect para dibujar la cadena.

+0

No creo que sea un error, per se. Definitivamente, es un cambio de comportamiento utilizar una fuente diferente "alternativa". He estado utilizando Hiragino Kaku Gothic ProN W6 15.0 ya que parece tener todos los símbolos "antiguos". Pero esto solo es aceptable cuando no necesito mezclar texto y símbolos. – TomSwift

+0

La UILabel personalizada parece ser la opción más fácil. Si no tiene ganas de hacer su propia versión, puede probar mi FXLabel (https://github.com/nicklockwood/FXLabel) que utiliza los métodos de dibujo de la cadena de gráficos centrales, por lo que presumiblemente no tendrá este problema. –

+0

Eso se ve bien, gracias. Sin embargo, no ayuda con los botones u otros controles :( – TomSwift

Cuestiones relacionadas