有没有一种方法可以有意地关闭所有UIView的反锯齿?

4
我想制作一款古老风格的应用,因此希望我的 UIView 不带反锯齿效果进行渲染。换句话说,我希望我的视图像素化,特别是 view.layer.cornerRadius,这样我就可以使用 AutoLayout 布局我的视图了。
这将比为不同的 iPhone 尺寸绘制不同的像素艺术品容易得多。此外,如果我每次调整视图大小都要绘制像素艺术,我还需要创建新的像素艺术,因为缩放图像可能会扭曲像素艺术。
我唯一找到的方法是 view.layer.allowsEdgeAntialiasing,默认情况下已经设置为 false。我也在考虑使用 Core Graphic 的 BeizerPaths 来绘制像素化阴影和圆角,这样做是否可行?

1
你最好的选择是为此目的创建适当的资产。 - Danny Bravo
1
同意。抗锯齿并不是真正的问题。如果你想要Minecraft的8位外观,你应该构建自定义单元格并为每个东西提供自己的图像资产。 - wottle
好的,我本来就担心会得到这个答案,无论如何还是谢谢你的帮助! - YellowPillow
这个回答解决了您的问题吗?在UIKit中禁用反锯齿效果(Swift) - Mercutio
1个回答

1
你可以进入核心图形CGContext并使用CGContextSetShouldAntialias(context,false)来关闭抗锯齿。以下是两个小屏幕截图,一个没有锯齿,另一个有锯齿。

First Image With No Jaggies

Second Image WIth Jaggies


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