Reiner Knizia的《 Money》已经发行了几个月。它的
做得很好,所以我们一直在时间允许的情况下进行更新。
然而,有一件事继续困扰着我。我从来没有得到过我的
分层卡以正确消除锯齿。
这是一个示例:
笔直放置的卡片非常干净,但是无论何时
卡周围的黑线呈锯齿状。我已经试过了
取决于图稿隐含的线条和绘制的线条
通过drawRect :,它们都做同样的事情。我试过了
edgeAntiAliasingMask,据我所知,它没有做任何事情。
我已经尝试将masksToBounds设置为NO和YES的子层。
现在,我的卡设置为CALayer,该子卡具有用于以下目的的子CALayer:
正面和背面,以及其他一些东西,例如减光口罩
和一个变黑的面具。以下是一些代码片段:
CArdLayer *theCardLayer = [CArdLayer layer];
theCardLayer.edgeAntialiasingMask = kCALayerLeftEdge | kCALayerRightEdge | kCALayerBottomEdge | kCALayerTopEdge;
theCardLayer.front = [CALayer layer];
theCardLayer.front.edgeAntialiasingMask = kCALayerLeftEdge | kCALayerRightEdge | kCALayerBottomEdge | kCALayerTopEdge;
theCardLayer.front.bounds = theCardLayer.bounds;
theCardLayer.front.masksToBounds = YES;
theCardLayer.front.contents = (id)[cardDrawing CGImage];
[theCardLayer addSublayer:theCardLayer.front];
等等...
关于如何使卡真正抗锯齿的任何想法?
最佳答案
这具有添加透明边框的效果:
layer.cornerRadius = 1.01;