2012-02-22 13 views
1

ラベルのすべての側にシャドーを追加する必要があります。このようになります。ラベルに影を付ける

enter image description here どうすればいいですか?助けてください。私はshadowOffsetを使用していますが、すべての面で影を与えていません。

+0

これは影ではなく概要です。 – EmilioPelaez

+0

文字の周りに白い輪郭線を得る方法を尋ねていますか? –

+0

@ robがオフになる可能性があります。私は白い輪郭について尋ねています。 – hgpl

答えて

0

ホワイトアウトラインを追加する方法を尋ねると仮定すると、プレーンテキストUILabelではできません。 Core Graphics(別名Quartz 2D)を使用してテキストを描画する必要があります。このようなもの:

CGContextRef gc = UIGraphicsGetCurrentContext(); 
CGContextSaveGState(gc); { 
    CGContextSetTextDrawingMode(gc, kCGTextFillStroke); 
    CGContextSetFillColorWithColor(gc, UIColor.blueColor.CGColor); 
    CGContextSetStrokeColorWithColor(gc, UIColor.whiteColor.CGColor); 
    CGContextSetLineJoin(gc, kCGLineJoinRound); 
    CGContextSetLineWidth(gc, 2); 
    CGContextSetShadowWithColor(gc, CGSizeMake(-1, 2), 2, UIColor.blackColor.CGColor); 
    [@"Card" drawAtPoint:CGPointMake(0, 20) withFont:[UIFont systemFontOfSize:18]]; 
} CGContextRestoreGState(gc); 
+0

まだ動作していません – hgpl

0

私はnicklockwood on gitHubでプロジェクトに出会いました。これは、標準的なUILabelを改善します。これは、ソフトシャドウ、内部シャドウ、グラデーションの塗りつぶしをサポートするサブクラスを提供し、標準のUILabelの代わりに簡単に使用できるサブクラスを提供します。

関連する問題