我正在开发一个项目,UIButtons可以根据用户设置动态设置字体颜色。为了避免在浅色背景上出现浅色字体或在深色背景上出现深色字体,我想用一个薄的黑色轮廓勾勒出我的字体。我正在谈论字母周围的轮廓,而不是标签或按钮本身。类似于典型的LOLcat Impact字体轮廓:http://mintyferret.com/wp-content/uploads/2007/07/lolcat7.gif
有没有人有这样做的例子?如果你有更容易的东西,我愿意接受建议,但我并不是真正想要为我的按钮创建自定义图像的地方。它们可以有动态文本和动态颜色,所以我需要它非常灵活。
答案 0 :(得分:2)
UIButton在UILabel中包含其标题,UILabel无法在角色周围添加边框。 UIButton的titleLabel属性是只读的,因此您无法将其替换为您自己的UILabel子类。因此,唯一的选择似乎是在按钮的drawRect函数中绘制文本。
以下是关于如何在文本周围绘制边框的主题: How do I make UILabel display outlined text?
我很确定你必须使用自己的变量覆盖setTitle:forState:和currentTitle函数,否则按钮会在你绘制的文本后面或前面绘制文本。