【发布时间】:2013-05-28 18:25:49
【问题描述】:
我正在尝试使用 Unicode 私有空格字符并将其设置为 UILabel 的 text 属性。这是使用 RubyMotion。
我想要的角色是Entypo 家族的一员,是U+1F554 (🕔)。
我创建了一个新的UILabel:
@lblIcon = UILabel.alloc.initWithFrame([[0,(self.view.frame.size.height/2) - 128],[self.view.frame.size.width,96]])
并使用pack 语法将其文本设置为Unicode 字符。
@lblIcon.text = [0x1f554].pack('U*')
然后我应用图标字体并将其添加到视图中:
ico_font = UIFont.fontWithName("Entypo", size:48)
@lblIcon.font = ico_font
self.view.addSubview @lblIcon
当我运行 rake 并尝试启动应用程序时,我收到以下崩溃消息:
*** Terminating app due to uncaught exception 'RuntimeError', reason: 'ui_label.rb:16:in `font=:': NSInvalidArgumentException: NSConcreteMutableAttributedString addAttribute:value:range:: nil value (RuntimeError)
我也试过
@lblIcon.text = [0x1f554].pack('U*') + ""
和
@lblIcon.text = "\U1F554"
无济于事。
创建由适合在UILabel 中使用的 unicode 字符组成的字符串的正确方法是什么?
【问题讨论】:
-
我认为提交支持请求是您最好的选择。这听起来像是一个 RubyMotion 错误。
标签: ios unicode rubymotion