1

我使用自定义字体来显示图标。每个图标都是一个字符。

我可以通过复制/粘贴这样的字符在 UI​​Controls 中使用它们:

myLabel.text = @"";

或者使用 unicode 十六进制代码:

myLabel.text = [NSString stringWithUTF8String:"\uf000"];

或者

myLabel.text = [NSString stringWithFormat:@"%c", 0xf000]

现在我正在尝试使用作为 NSString 存储在字典中的字符十六进制代码使其更具动态性:

NSString *glassIcon = [charactersList objectForKey:@"icon-glass"]; //glassIcon = f000

但我无法在我的标签中显示这个字符。

我试过了

myLabel.text = [NSString stringWithFormat:@"%s", [subString UTF8String]];

或者

myLabel.text = [NSString stringWithUTF8String:[subString UTF8String]];

但这些都不起作用。

我确定我遗漏了一些明显的东西,但我找不到。

4

1 回答 1

0

尝试这个:

/* Convert it to an integer. */
uint16_t code = (uint16_t)strtol(glassIcon.UTF8String, NULL, 16);

/* Convert the charcode to a string */
myLabel.text = [NSString stringWithFormat:@"%c%c", (char)((code >> 8) & 0xff), (char)(code & 0xff)];

您可能需要将其放在文件的顶部,不确定:

#include <string.h>
于 2013-06-18T10:06:21.383 回答