2012-02-22 99 views
1

我需要为标签的所有边添加阴影。它看起来像这样。阴影与标签

enter image description here 如何做到这一点?请help.I使用shadowOffset,但它不给所有side.Please帮助影子。

+0

这不是一个影子,它是一个轮廓。 – EmilioPelaez 2012-02-22 06:46:03

+0

你在问如何得到字母周围的白色轮廓? – 2012-02-22 06:48:48

+0

@ rob可能会关闭是的,我正在询问关于白色轮廓。 – hgpl 2012-02-22 07:03:48

回答

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 2012-02-22 09:21:28

0

我碰到过一个项目nicklockwood on gitHub。它通过提供一个支持软阴影,内部阴影和渐变填充的子类来改进标准UILabel,并且它可以很容易地用于替代任何标准UILabel。请看它。它对您有用。