【问题标题】:How do I achieve a clearly rendered rotated UILabel?如何实现清晰渲染的旋转 UILabel?
【发布时间】:2012-05-08 04:01:55
【问题描述】:

我正在尝试显示旋转的文本。 UILabel 作为子视图添加到 UIImageView 上。 UIImageView 有一个通过 CGAffineTransformMakeRotation(M_PI/4.0) 创建的变换。 UILabel 的文本呈现相当模糊的cf。标题标签(在屏幕截图中,蓝色背景“What's ...”)。

你知道我怎样才能使旋转的文本清晰呈现吗?

我已经尝试过使用基于积分的框架(这无关紧要,因为它会被旋转)、不清晰的背景颜色,并将标签设置为 opaque=YES。还是很模糊。

谢谢!

【问题讨论】:

  • 出于好奇,您是在标签层还是在其父视图层上使用shouldRasterize 属性?这看起来很模糊,可能是不正确的rasterizationScale 的问题。
  • 不!我也尝试了两个都无济于事......

标签: ios core-animation uilabel


【解决方案1】:

问题是您的标签在框架的原点或旋转中以半像素呈现。检查旋转后的帧原点,或尝试将其旋转 M_PI/4.1(4.2、4.3、4.4、4.5 - 甚至测试值如 4.05 4.15..),直到它正常渲染。还要检查 UIImageView 中 UILabel 的框架,例如可以在半像素原点添加。 {0.5, 0.5} 什么的..

【讨论】:

  • 我尝试通过每秒更新它们的帧来强制 UIImageView 和 UILabel 使用积分坐标。还是很模糊! :(
  • 它们的坐标在旋转后会发生变化,请确保在不旋转时不模糊,然后再旋转。顺便说一句,如果您正在设置标签的中心属性或 uiimageview 可能有问题,请尝试将设置中心替换为设置整个框架...
  • 是的,它是在旋转之后。设置中心导致问题是怎么回事?我尝试只使用框架,但没有任何区别。
  • 这种在 UILabel 上经常发生在我身上的问题,我试图避免它。有时需要时间来调整它以使其正常呈现,这很痛苦。
  • 对我来说,下面的行是导致问题的原因。它可能对任何人都有帮助。 View.Layer.ShouldRasterize = true; .删除此行字体后,效果很好。
猜你喜欢
  • 1970-01-01
  • 2010-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-26
  • 2018-03-27
  • 1970-01-01
  • 2011-10-07
相关资源
最近更新 更多