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

8
我的问题基本上与这个问题是一样的。我有一个UIView,当我使用CGAffineTransformMakeRotation旋转它时,边缘没有被反锯齿处理。
我尝试了将视图作为更大的UIView的子视图添加以及在视图上使用透明边框,但这些都不起作用。
前面提到的帖子的OP通过使用Photoshop制作带有透明边框的图像并使用UIImageView来解决此问题,但我无法这样做,因为UIView的大小是在运行时确定的。
有人知道解决此问题的方法吗?
请注意,这不是帖子的重复问题,因为我想使用UIView而不是UIImageView。
2个回答

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

你知道这会不会增加你的应用程序的 CPU 使用率吗? - Kevin Hirsch

0

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

当然,这种解决方案仍然无法用于UIView,但是您可以绕过“可变大小”问题并改用UIImageView。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接