8

我想在 UILabel 中显示一个向下箭头。特别是 ⬇ Unicode:U+2B07。这是在列标题上显示排序顺序。

我已经看到了让 unicode 字符显示的代码,当我将它用于上面的符号时,它没有按预期显示,而是出现了一个带有光泽的蓝色向下箭头。

有人见过这个吗?

4

2 回答 2

14

将某些字符显示为“表情符号”是一个功能,例如(有争议的)在此处讨论: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}"
于 2013-03-28T01:34:58.553 回答
8

如果您看到带有光泽的蓝色箭头,则说明您的角色是正确的,但它显示的是表情符号风格的角色之一。尝试将您的字体更改为UILabelArial Unicode MS 之类的字体。

编辑经过一些测试,看起来更改字体实际上不起作用。它一直显示光泽箭头。最好采用其他答案的建议并使用不同的字形,例如\u2193,这确实有效:

[nameLabel setText:@"\u2193"];

在此处输入图像描述

于 2013-03-27T23:11:27.563 回答