在带有阴影的 UILabel 上使用 SizeToFit()?

Posted

技术标签:

【中文标题】在带有阴影的 UILabel 上使用 SizeToFit()?【英文标题】:Use SizeToFit() on a UILabel with a shadow? 【发布时间】:2011-01-19 15:31:02 【问题描述】:

我有一些 UILabel 元素可以动态更改文本。我还使用 label.Layer.ShadowOffset 和 dito color 为标签添加阴影。

更改标签文本后,我使用SizeToFit。问题:该方法没有考虑到阴影——这会导致标签太小而阴影被切掉。

有没有简单的方法来解决这个问题,或者我必须在SizeToFit 调用之后手动更改大小?

【问题讨论】:

【参考方案1】:

为什么要在图层上设置阴影,而不是使用 UILabel 的 shadowOffset 和 shadowColor 属性?在这种情况下,我希望 sizeToFit 能够解释阴影。

【讨论】:

我也应该写 ShadowOpacity,它不能直接在 UILabel 上使用 - 必须通过层。 (至少不是通过我正在使用的 Monotouch)。 在这种情况下,我将继承 UILabel 并覆盖 sizeThatFits: 以在该方法的超级实现返回的大小上添加几个点。让这个子类处理设置阴影。也许不是您要寻找的简单解决方法,但至少通过这种方式,所有阴影行为都被封装到一个地方。 感谢您的想法 - 如果没有其他人有更简单的想法,我想这就是我需要做的。

以上是关于在带有阴影的 UILabel 上使用 SizeToFit()?的主要内容,如果未能解决你的问题,请参考以下文章

UILabel,带有圆角半径和阴影

UILabel 最小字体大小阴影问题

UILabel 中的内部阴影

使用内部阴影的 UILabel 中的发光效果

UILabel设置背景色/阴影/描边

如何在 UILabel 上创建强烈的红光效果