【问题标题】:Outline for UILabel textUILabel 文本的大纲
【发布时间】:2012-02-22 09:32:51
【问题描述】:

如何为我的白色 UILabel 文本添加黑色轮廓?

【问题讨论】:

标签: iphone objective-c uilabel


【解决方案1】:

一个选项是设置阴影,这可能不是您想要的,但可以达到类似的效果。您可以手动调整偏移量:

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 以获得发光效果:


(来源:redrobotstudios.com

【讨论】:

【解决方案2】:

披露:我是 THLabel 的开发者。

我不久前发布了一个 UILabel 子类,它允许文本中的轮廓和其他效果。你可以在这里找到它:https://github.com/tobihagemann/THLabel

我正在使用Core Text和Core Graphics来实现效果。

【讨论】:

  • 刚刚安装,目前完美运行,干得好。
【解决方案3】:

对于 iOS5,通常的方式是使用 CoreGraphics 设置填充/描边,然后渲染图形。不过,要让所有字体大小的对齐方式正确,可能会非常棘手。

我建议查看我的解决方案here。你可以直接使用它(它也有漫反射阴影),或者简单地选择做轮廓的代码。对于 iOS6,有一个更整洁(更小)的解决方案,效果更好。看here

【讨论】:

  • iOS6 已经发布了,您能告诉我们更简洁的解决方案吗?我想不通。
  • 是的@Nuoji,我也有兴趣了解那个 iOS 6 解决方案。
  • 如您所见,我已经更新了我的回复,其中包含指向 iOS 6 解决方案的链接。
  • 这个解决方案是非常慢的前字体,比如 Chalkduster
  • @PsychoDad - iOS5 还是 iOS6 解决方案中的哪一个?
【解决方案4】:

我相信this 代码会解决您的问题。

在 KSLabel.m 类中看到这行代码

// Outline color
self.textColor = [UIColor whiteColor];

改成

self.textColor = [UIColor blackColor];

你会看到文本的黑色边框。

【讨论】:

    猜你喜欢
    • 2017-03-27
    • 1970-01-01
    • 2021-08-20
    • 2014-08-09
    • 2011-03-12
    • 1970-01-01
    • 1970-01-01
    • 2020-03-26
    • 1970-01-01
    相关资源
    最近更新 更多