我想在 UILabel 中显示一个向下箭头。特别是 ⬇ Unicode:U+2B07。这是在列标题上显示排序顺序。
我已经看到了让 unicode 字符显示的代码,当我将它用于上面的符号时,它没有按预期显示,而是出现了一个带有光泽的蓝色向下箭头。
有人见过这个吗?
我想在 UILabel 中显示一个向下箭头。特别是 ⬇ Unicode:U+2B07。这是在列标题上显示排序顺序。
我已经看到了让 unicode 字符显示的代码,当我将它用于上面的符号时,它没有按预期显示,而是出现了一个带有光泽的蓝色向下箭头。
有人见过这个吗?
将某些字符显示为“表情符号”是一个功能,例如(有争议的)在此处讨论:https ://devforums.apple.com/message/487463#487463 (需要 Apple 开发人员登录)。此功能是在 iOS 6 中引入的。
一种解决方案(来自https://stackoverflow.com/a/13836045/1187415)是附加 Unicode“变体选择器”U+FE0E,例如
self.myLabel.text = @"\u2B07\uFE0E";
// or:
self.myLabel.text = @"⬇\uFE0E";
请注意,在 iOS <= 5.x 上,Variation 选择器不是必需的,也不能使用,因为 iOS 5 会将其显示为一个框。
在Swift中它会是
myLabel.text = "⬇\u{FE0E}"
如果您看到带有光泽的蓝色箭头,则说明您的角色是正确的,但它显示的是表情符号风格的角色之一。尝试将您的字体更改为UILabel
Arial Unicode MS 之类的字体。
编辑经过一些测试,看起来更改字体实际上不起作用。它一直显示光泽箭头。最好采用其他答案的建议并使用不同的字形,例如\u2193
,这确实有效:
[nameLabel setText:@"\u2193"];