2015-06-25 3 views
3

У меня возникла проблема с отображением emoji в UILabel. Я получаю данные из веб-службы (я не могу изменить способ я получить данные): Это значение из отладчика:UILabel не показывает emoji

__NSCFString * @"emoji \\ud83d\\ude1b\\ud83d\\ude1d" 0x000000017405ea80 

Значение от NSLog:

emoji \ud83d\ude1b\ud83d\ude1d 

если я назначить это значение моего UILabel текстового свойства я получаю на экране:

emoji \ud83d\ude1b\ud83d\ude1d 

я пытался кодировать и декодировать строку с помощью:

NSData *data = [string dataUsingEncoding:NSNonLossyASCIIStringEncoding]; 
NSString *dataValue = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 
return dataValue; 

и когда я пытаюсь:

NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding]; 
NSString *output = [[NSString alloc] initWithData:data encoding:NSNonLossyASCIIStringEncoding]; 

я получить смайлик на экране, но если строка не имеет смайлик внутри него будет ноль и получить пустой ярлык на устройстве.

Я не могу заставить его работать правильно.

Спасибо за любую помощь.

ответ

1

Я попробовал ваш код, второй один .. и он прекрасно работает:

Вот что у меня есть:

enter image description here

и выход:

enter image description here

удаление шнура emoji \\ud83d\\ude1b\\ud83d\\ude1d просто оставьте emoji. Это симулятор, мне интересно, что ошибка появляется только на устройстве? а в симуляторе он работает?

+0

Спасибо человеку, но почему, когда нет эможи, нить нить? –

+0

@MikeMorris, это не ноль для меня .. я не знаю, что вызывает это в вашем случае, пытаясь взглянуть на это [обсуждение] (http://stackoverflow.com/questions/19304535/nsstring-with-emoticons-emojis- url-encode) может быть связано с вашей проблемой .. но я не думаю, что ваша строка не ascii .. хм .. я верю, что ваша проблема другая .. – 0yeoj

+1

Спасибо, человек. ты помог мне. Мир тебе. –

0

Попробуйте установить ваш UILabel с:

//Example 
[NSString stringWithUTF8String:"\ud83d"] 
+0

Нет, спасибо за вашу поддержку. Я закрываю вопрос, я храню строковое значение, а затем, если строка emoji i использует сохраненное значение. –

Смежные вопросы