如何在白色UILabel文字中添加黑色轮廓?
答案 0 :(得分:9)
一个选项是设置阴影,这可能不是您想要的,但实现类似的效果。您可以手动调整偏移量:
UILabel *myLabel = ...;
lbl.shadowColor = [UIColor whiteColor];
lbl.shadowOffset = CGSizeMake(0, -1.0);
请注意,您也可以在Interface Builder中为UILabel
。
shadow http://i.minus.com/jbiG0jVdOxJbgh.png
如果这还不够,请查看此blog post,其中涉及子类化UILabel
以获得发光效果:
glow http://www.redrobotstudios.com/blog/wp-content/uploads/2010/04/glow1.png
答案 1 :(得分:5)
披露:我是THLabel的开发者。
我刚刚发布了一个UILabel子类,它允许在文本和其他效果中使用大纲。您可以在此处找到它:https://github.com/tobihagemann/THLabel
我正在使用Core Text和Core Graphics来实现这种效果。
答案 2 :(得分:2)
对于iOS5,通常的方法是使用CoreGraphics设置填充/描边,然后渲染图形。尽管如此,对于所有字体大小来说对齐都是非常棘手的。
我建议查看我的解决方案here。您可以直接使用它(它也有漫反射阴影),或者只选择执行轮廓的代码。对于iOS6,有一个更整洁(更小)的解决方案,工作得更好。看here。
答案 3 :(得分:1)
我确信this代码可以解决您的问题。
在KSLabel.m类中,请看到这行代码
// Outline color
self.textColor = [UIColor whiteColor];
将其更改为
self.textColor = [UIColor blackColor];
你会看到文字的黑色边框。