No se muestra samoyedo ( Emoji ) en UITextView en iOS?
-
12-12-2019 - |
Pregunta
Tengo guardados todos los uni-de los códigos de caracteres emoji) en plist compatible con el iphone.Cuando escribo directamente como
- (IBAction)sendButtonSelected:(id)sender {
NSMutableArray *emoticonsArray = [[NSMutableArray alloc]initWithObjects:@"\ue415",nil];
NSString *imageNameToPass = [NSString stringWithFormat:@"%@",[emoticonsArray objectAtIndex:0]];
NSLog(@"imageNameToPass1...%@",imageNameToPass);
messageTextView.text =imageNameToPass;
}
se muestra que los emoji en textview pero tan pronto como puedo recuperar de plist
NSString *plistPath1 = [[NSBundle mainBundle] pathForResource:@"unicodes" ofType:@"plist"];
NSDictionary *dictionary = [[NSDictionary alloc] initWithContentsOfFile:plistPath1];
activeArray= [dictionary objectForKey:categoryString];
NSLog(@"activeArray...%@",activeArray);
emoticonsArrayForHomeEmoji = [[NSMutableArray alloc]initWithCapacity:[activeArray count]];
for(int i=0; i<[activeArray count]; i++)
{
id objects = (id)[activeArray objectAtIndex:i];
[emoticonsArrayForHomeEmoji insertObject:objects atIndex:i];
}
NSString *imageNameToPass = [NSString stringWithFormat:@"%@",[emoticonsArrayForHomeEmoji
objectAtIndex:0]];
NSLog(@"imageNameToPass1...%@",imageNameToPass);
messageTextView.text =imageNameToPass;
a continuación, se muestra como texto unicode \ue415 en vista de texto en lugar de emoji.
¿Qué estoy haciendo mal?.Por favor, ayúdenme!
Solución
El \uxxxx
la notación es sólo interpretado por el compilador (como el código fuente es generalmente en ASCII o MacRoman o lo que sea, pero no a menudo UTF8)
Plist archivos utiliza a los personajes directamente, y están codificados en UTF8.Así que usted debe insertar el carácter de emoji a sí mismo en el plist directamente, en lugar de utilizar el \uxxxx
la notación, como el Plist de datos se lea como-es.
Lion y Mountain Lion Teclado paletas contiene caracteres emoji directamente, por lo que no debería ser difícil para insertar los caracteres cuando se edita el PLIST de todos modos.
Otros consejos
Said Said por @alisoftware, los datos de la plist se leerán como es, por lo que puede agregar los emojis a su plist siguiendo estos pasos:
1) Vaya a su barra superior y haga clic en Editar.
2) Ahora seleccione caracteres especiales
3) Ahora arrastre y suelte emoji a la plist.
Para más detalles, estoy agregando tiros de presión.Echalo un vistazo.