我正在尝试使用现有文本在UITextField
中添加表情符号。但是我只在文本字段中使用unicode代替\ue415
之类的表情符号。我尝试使用以下代码在文本字段中设置表情符号。
我有一个视图,其中有按钮与emojis的图像。在点击该表情符号时,我将该表情符号的相应unicode附加到文本中。但是unicode是以字符串格式附加的,而不是实际的符号。
如果我尝试在文本字段中设置直接unicode,那么它会显示表情符号,但如果我尝试从数组中获取值,那么它就不会显示表情符号。
NSString *strCode = [[arrPlist objectAtIndex:[sender tag]]objectForKey:@"UTFCode"];
strCode = [strCode stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSString *mycode = @"\ue415";
if ([mycode isEqualToString:strCode])
{
NSLog(@"both are same");
}
NSLog(@"%@",[NSString stringWithFormat:@"strCode:%@ and mycode:%@",strCode,mycode]);
messageField.text = [messageField.text stringByAppendingFormat:@"%@ %@",strCode,mycode];
输出如下:
strCode:\ ue415和mycode:
任何人都可以帮助我如何让strCode与myCode相同?
答案 0 :(得分:2)
Use like below it will work
NSString *myString = @"I am sad of him";
myString = [myString stringByReplacingOccurrencesOfString:@"sad" withString:@"\ue415"];
txtField.text = myString;
答案 1 :(得分:0)
有趣的问题。
你不能把\字符作为字符串。在你的代码中'mycode'将@“\ ue415”作为一个字符而不是字符串。你可以用
看到它NSlog(@"%d",[mycode length]);
...它会显示1而不是6。
如果你可以设置 -
NSString *mycode = [[NSString stringWithFormat:@"\\"]stringByAppendingFormat:@"ue415"]);
你的代码中的任何内容......这将为你提供你想要的字符串。
谢谢!!