如何在旋转的UIView(NOT UIImageView)上进行抗锯齿处理

时间:2011-10-12 12:29:59

标签: iphone ios antialiasing

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

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

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

有没有人知道这个问题的任何解决方案?

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

2 个答案:

答案 0 :(得分:20)

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

答案 1 :(得分:0)

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

这个解决方案当然对UIViews不起作用,但是你可以绕过“可变大小”问题并使用UIImageView。