2012-07-23 23 views
14

No estoy seguro de lo que me falta aquí, y la búsqueda no me ha ayudado. Quiero mostrar caracteres emoji en un UILabel, y esto no lo está haciendo:Mostrando emoji en un UILabel?

UILabel *label = [[UILabel alloc] init]; 
label.font = [UIFont fontWithName:@"AppleColorEmoji" size:16.0]; 
label.text = [NSString stringWithFormat:@"%C", 0x1F431]; 
// ... etc. 

funciona bien con otros caracteres Unicode que no sean letras, por ejemplo, piezas de ajedrez, pero no con ningún personaje emoji que haya probado.

+0

¿Ha comprobado que '' no es label.font' las negativas? – idz

+0

Buen punto, no lo tenía antes pero lo hice ahora, y label.font = font-family: "Apple Color Emoji"; font-weight: normal; estilo de fuente: normal; tamaño de fuente: 16px – AlanL

Respuesta

17

Probablemente no esté utilizando la codificación correcta para sus caracteres emoji. Por ejemplo, en el ejemplo que creo que busca algo como esto:

label.text = [NSString stringWithFormat:@"%C", 0xe04f]; 

Tenga una mirada en this tabla para conseguir las codificaciones que necesita.

+0

Interesante. Eso funciona, pero ¿no es la antigua codificación propietaria de Softbank? Estaba esperando que la codificación Unicode 6.1 ahora estándar funcione (¿también?). – AlanL

5

el Unicode 6.1 codificaciones funcionar tan bien, pero se tendrían que especificar como esto:

label.text = @"\U0001F431"; 
+0

¿De dónde puedo obtener la lista de unicodes de otros íconos? –

+0

https://en.wikipedia.org/wiki/Emoji –

+0

@ShreeshGarg puedes obtener Unicode de otro icono de http://apps.timwhitlock.info/emoji/tables/unicode –

50

de usar Simplemente prensa de Emoji control + comando + espacio (^⌘Space) . No es necesario usar unicode para emoji.

+6

¿Quién diablos votó? Esta es la mejor respuesta para usar emoji a través de Storyboard. – jovanjovanovic

+2

Estaba tremendamente sorprendido de que tal cosa sea posible. – xinatanil

+0

En serio, la mejor manera de hacerlo. – GKK

7

En Swift que puede hacer:

label.text = "" 

Asegúrese de incluir las comillas. De lo contrario, establecerás el texto en lo que esté en la variable. A continuación se mostraría como "gato":

let = "cat" 
label.text = 
14

en Xcode sólo tiene que ir a la barra superior y haga clic en Editar> Emojis & símbolos y una caja de emoji se abrirá y que, literalmente, puede agregarlo a cualquier texto en el aplicación, incluso funciona en el constructor de interfaz si necesita agregarlo al texto de un uilabel allí.

enter image description here

enter image description here

+0

increíblemente fácil. – maxhs

+0

Control-Command-Space es un atajo para todo el sistema. – atreat

+0

Bien, esto debería estar en la parte superior porque es mucho más simple que la versión aceptada. – Harish