2011-10-06 95 views
1

我正在开发一个项目,其中UIButton根据用户设置可以动态设置其字体颜色。为避免浅色背景上的浅色字体或深色背景上的深色字体的问题,我想用细的黑色轮廓勾勒出我的字体。我直接在字母周围谈论轮廓,而不是围绕标签或按钮本身。类似于典型的LOLcat Impact字体大纲:http://mintyferret.com/wp-content/uploads/2007/07/lolcat7.gifUIButton中的轮廓文本/字体

有没有人有这样的例子在行动?如果你有更容易的事情,我会接受建议,但我并不是真的想要为我的按钮创建自定义图像。他们可以有动态的文字和动态的颜色,所以我需要它非常灵活。

+0

我在找类似的东西 - 最后的路要走吗? – tiguero

回答

2

UIButton在UILabel中包含它的标题,而UILabel没有选择在角色周围添加边框。 UIButton的titleLabel属性是只读的,所以你不能用你自己的UILabel子类来替换它。因此,唯一的选择似乎是在按钮的drawRect函数中绘制文本。

下面是关于如何绘制文本周围边框的话题: How do I make UILabel display outlined text?

我敢肯定,你就必须重写的setTitle:forState:和currentTitle功能使用自己的变量,或按钮将绘制文字背后或前面的文字。