使用Swift在iOS UI中显示音乐Unicode符号

时间:2014-12-18 07:08:14

标签: ios xcode swift unicode uilabel

我目前正在开发一款适用于音乐符号的iOS应用程序。我想要使​​用的符号可以在这个页面上找到:

http://unicode-table.com/en/blocks/musical-symbols/

我正在尝试一些例子,比如直接将文本分配给标签。所以这就是我在Xcode的界面构建器中看到的:

Label seen in interface builder

这就是我在模拟器中看到的:

Label seen in interface builder

我还尝试以编程方式(Swift代码)分配它:

label.text = "\u{1D15D}"

但也没有运气。但是,如果我使用println()将其发送到控制台,则会在控制台中正确打印注释字符。

以防我尝试使用一些系统字体并且结果相同(默认,Arial,Verdana和Times New Roman)

所以我的问题是:我做错了吗? iOS的界面元素(如UILabels)不支持这些字符吗?或者问题可能是字体?

我将在此感谢一些帮助:)如果您需要的信息比我在此处提供的更多,请告诉我。

1 个答案:

答案 0 :(得分:3)

这是字体的问题。很少有字体包含Unicode的音乐符号。您看到的“UFO”符号可能是字体中不存在的“奇怪”字符的通用符号。您可能需要找到合适的免费字体,并尝试将其与您的应用程序捆绑在一起。

一些字体至少包含一些音乐符号。其中最常见的是FreeSerif,Quivira和Symbola(在样本中)列在MUSICAL SYMBOL WHOLE NOTE (U+1D15D) Font Support页面的Fileformat.info网站上。还可以从页面Unicode Fonts for Ancient Scripts下载Musica字体。 (常见的音乐符号不是那么古老,但字体也包含拜占庭音乐符号。)