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;

10-08 12:01