1

textUnicode プライベート スペース文字を使用して、それを のプロパティに設定しようとしていますUILabel。これは RubyMotion を使用しています。

私が欲しいキャラクターはエンティポファミリーの一員で、 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"

無駄に。

での使用に適した Unicode 文字で構成される文字列を作成する正しい方法は何UILabelですか?

4

2 に答える 2

1

ガントマンは正しい。

ラベルのテキストを に設定する'0x1f554'.hex.chr(Encoding::UTF_8)とうまくいくはずです。

于 2013-07-25T15:42:11.897 に答える