2017-04-18 4 views
0

イメージを使ってテキスト/フォントを作成し、文字列の一部として使用する方法はありますか?私は、私のアプリのさまざまな場所でラベルなどの金額の前に私たちのコインイメージを表示したいと思います。たとえば、$ 4.00の代わりに、$記号の代わりに私のカスタム通貨イメージになります。イメージをテキストの一部として組み込む

私たちの通貨イメージをフォントテキストのようなものに変換して(素晴らしいフォントのように)、それを文字列で使用することができればと思っています。

私たちの独自の通貨画像でアプリ全体に通貨金額を表示できるようにするには、これに近づけるにはどうすればよいでしょうか?カスタムラベルのいくつかの並べ替えですか?

+1

Aフォントでこれを達成するためにNSAttributeStringを使用することができますが、技術的には、オフセット、サイズを支援するグリフシートやテーブルに格納され、関連するデータ、など私はあなたを推測です* *作成することができます基本的に単一の文字を持ち、サイズ変更が可能な「フォント」ですが、それは多くの努力のようです。もっと良い方法は、絵文字を作成することです。 (多分、私はそれについて十分に分かっていません)。そうなら、あなたはテキストとして使うことができるUnicode文字です。最も簡単なオプションは、UILabelをサブクラス化し、画像を表示するために必要なものを* draw(rect:)*メソッドに追加してからUIに追加することです。はい、あなたは額と金額の間にいくらかの "先導"スペースを持つかもしれませんが、それは機能します。 – dfd

答えて

1

あなたはNSTextAttachment

let dollarImage = UIImage(named: "DollarSign") 

let attachment = NSTextAttachment() 
attachment.image = dollarImage 
attachment.bounds = CGRect(origin: .zero, size: dollarImage.size) 

let attachmentString = NSAttributedString(attachment: attachment) 
let currencyString = NSAttributedString(string: "4.40") 

let attributedString = NSMutableAttributedString(attributedString: attachmentString) 
attributedString.append(currencyString) 
+0

これは合理的な解決策ですが、イメージの高さがテキストの高さにうまく収まるようにするにはどうすればよいでしょうか? – Prabhu

+0

あなたが期待しているテキストに合わせてイメージをデザインする最良の方法。必要に応じて画像に空白を入れます。 –

+0

申し訳ありませんが、...画像に空白を含める方法は? – Prabhu

関連する問題