0

我已将所有 uni-codes(表情符号字符)存储在 iphone 支持的 plist 中。当我直接写为

- (IBAction)sendButtonSelected:(id)sender {
NSMutableArray *emoticonsArray = [[NSMutableArray alloc]initWithObjects:@"\ue415",nil];
NSString *imageNameToPass = [NSString stringWithFormat:@"%@",[emoticonsArray objectAtIndex:0]];
NSLog(@"imageNameToPass1...%@",imageNameToPass);
messageTextView.text =imageNameToPass;
 }

它在 textview 中显示表情符号,但只要我从 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;

然后它在文本视图中将 unicode 显示为文本 \ue415 而不是表情符号。

我做错了什么?请帮帮我!

4

2 回答 2

2

@AliSoftware 说,Plist 数据将按原样读取,因此您可以按照以下步骤将表情符号添加到您的 plist:

1) 转到顶部栏,然后单击编辑。

2) 现在选择特殊字符

3)现在将表情符号拖放到plist。

有关更多详细信息,我正在添加快照。看看它。第 1 步第 2 步第 3 步

于 2012-10-03T05:08:34.970 回答
1

\uxxxx符号仅由编译器解释(因为源代码通常是 ASCII 或 MacRoman 或其他但不经常是 UTF8)

Plist 文件直接使用字符,并以 UTF8 编码。因此,您应该直接将表情符号字符本身插入 plist,而不是使用\uxxxx符号,因为 Plist 数据将按原样读取。

Lion 和 Mountain Lion键盘调色板直接包含表情符号字符,因此无论如何在编辑 PLIST 时插入字符应该不难。

于 2012-10-02T14:38:00.037 回答