【问题标题】:How to do antialiasing on a rotated UIView (NOT UIImageView)如何在旋转的 UIView(不是 UIImageView)上进行抗锯齿
【发布时间】:2011-10-12 12:29:59
【问题描述】:

我的问题和this one基本一样。我有一个 UIView,当我使用 CGAffineTransformMakeRotation 旋转它时,边缘没有被抗锯齿。

我尝试在更大的 UIView 中将视图添加为子视图并在视图上使用透明边框,但这些都不起作用。

上述帖子的 OP 通过在 photoshop 中制作具有透明边框的图像并改用 UIImageView 解决了这个问题,但我不能这样做,因为 UIView 的大小是在运行时确定的。

有人知道这个问题的解决方案吗?

请注意,这不是 this 帖子的重复,因为我对使用 UIView 而不是 UIImageView 感兴趣。

【问题讨论】:

    标签: iphone ios antialiasing


    【解决方案1】:

    尝试在您的 App-info.plist 中设置 UIViewEdgeAntialiasing=YES

    【讨论】:

    • 您知道这是否会提高您应用的 CPU 使用率吗?
    【解决方案2】:

    我通过在 Photoshop 中创建一个 3x3 像素的图像解决了这个问题。图像的中心像素具有我希望背景具有的颜色,其余像素是透明的。然后我可以使用 UIImageView 的一个实例,并通过使用 -stretchableImageWithLeftCapWidth:topCapHeight: 方法在运行时定义帧大小。

    当然,此解决方案仍然不适用于 UIView,但这样您就可以规避“可变大小”问题并改用 UIImageView。

    【讨论】:

      猜你喜欢
      • 2014-02-18
      • 1970-01-01
      • 2010-11-21
      • 1970-01-01
      • 1970-01-01
      • 2010-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多