2012-02-22 17 views
8

白いUILabelテキストに黒い輪郭を追加するにはどうすればよいですか?UILabelテキストの概要

+0

これを確認してください:http://stackoverflow.com/a/1424665/845115 –

+0

あなたは黒い境界線を意味しますか? – rakeshNS

+0

@rakeshNSはい私はラベルのテキストの周りに黒い境界線が必要です。 – hgpl

答えて

9

シャドウを設定することもできますが、これは正確には望めないかもしれませんが、同様の効果が得られます。手動でオフセットを調整することができます。

UILabel *myLabel = ...; 
lbl.shadowColor = [UIColor whiteColor]; 
lbl.shadowOffset = CGSizeMake(0, -1.0); 

また、あなたのUILabelためにInterface Builderでこれを定義することができますので、予めご了承ください。あなたはグロー効果を得るためにサブクラス化UILabelを扱うこのblog postをチェックするために、これは十分でない場合

shadow http://i.minus.com/jbiG0jVdOxJbgh.png

:iOS5をするために

glow http://www.redrobotstudios.com/blog/wp-content/uploads/2010/04/glow1.png

+0

このようにすると、あいまいなアウトラインが追加されるか、ストローク/アウトラインがオフセットされます。素晴らしいソリューションについては、こちらのリンクをご覧ください:http://stackoverflow.com/a/15877054/254598 – Maurizio

2

を、通常の方法は、CoreGraphicsを使用することです塗りつぶし/ストロークを設定してグラフィックスをレンダリングします。しかし、すべてのフォントサイズに対して正しい整列を得ることはかなり難しいかもしれません。

私の解決策を見てみることをお勧めしますhere。まっすぐに使うこともできます(散漫な影もあります)か、アウトラインを行うコードを選ぶだけです。 iOS6の場合、もっとうまく動作する、より洗練された(より小さい)ソリューションがあります。 Look here

+1

iOS6は今すぐ出てきています。より洗練されたソリューションについて教えてください。私はそれを理解できませんでした。 –

+0

はい@Nuoji、私はまた、そのiOS 6ソリューションについて知りたいと思っています。 – flainez

+0

ご覧のとおり、返信内容をiOS 6ソリューションへのリンクで更新しました。 – Nuoji

1

確かにthisコードで問題を解決できます。 KSLabel.mクラスで

// Outline color 
self.textColor = [UIColor whiteColor]; 

コード

のこの行を参照してください

self.textColor = [UIColor blackColor]; 

に変更して、あなたはテキストの黒い枠が表示されます。

5

開示:私はTHLabelの開発元です。

私はUILabelサブクラスを少し前にリリースしました。これは、テキストやその他のエフェクトのアウトラインを可能にします。あなたはそれを見つけることができます:https://github.com/tobihagemann/THLabel

私は効果を達成するためにコアテキストとコアグラフィックスを使用しています。

+1

ちょうどそれをインストールし、今まで完璧に動作し、うまくいった。 – TaylorAllred