2011-10-12 52 views
7

我的问题与this one基本相同。我有一个UIView,当我旋转CGAffineTransformMakeRotation时,边缘没有被反锯齿。如何对旋转的UIView进行抗锯齿(不是UIImageView)

我试图将视图作为一个更大的UIView中的子视图,并在视图上使用透明边框,但没有一个工作。

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

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

请注意,这不是this后的副本,因为我有兴趣使用UIView而不是UIImageView。

回答

19

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

+0

确实有效!对不起,我花了很多时间看到你的答案... – Kremk

+0

你知道这是否会提高你的应用程序的CPU使用率? –

0

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

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