http://www.jianshu.com/p/57e2ec17585b
再介绍一下edge antialiasing(抗锯齿) 这个吧. 因为之前自己也没接触过,很多人估计也是没接触过吧.
翻译:
是否允许执行反锯齿边缘。 默认的值是 NO.(不使用抗锯齿,也有人叫反锯齿),当 Value 为YES的时候, 在layer的 edgeAntialiasingMask属性layer依照这个值允许抗锯齿边缘,(参照这个值) 可以在info.plist里面开启这个属性.
放一个 plist 常见的key值表 info.plist配置表 (楼主真的好...)
说了这么多. 那抗锯齿又是啥????
抗锯齿的概念 (随便看看.) 在我们iOS中表现 参考这里
CALayer *layer = [CALayer layer];
layer.position = CGPointMake(100, 100);
layer.bounds = CGRectMake(0,0, 100, 100);
layer.backgroundColor = [UIColor redColor].CGColor;
//layer.allowsEdgeAntialiasing = YES;
[self.view.layer addSublayer:layer];
正常添加layer 在view上是这样的.
下一步.
CGFloat angle = M_PI / 30.0;
[layer setTransform:CATransform3DRotate(layer.transform, angle, 0.0, 0.0, 1.0)];
在模拟器表现是这样的.
如果 layer.allowsEdgeAntialiasing = YES;
--- 在模拟器上是
--- 在真机上.
可见真机效果跟模拟器还是有差距的,(模拟器边缘比真机模糊,)官方文档也有提到这点
Use antialiasing when drawing a layer that is not aligned to pixel boundaries. This option allows for more sophisticated rendering in the simulator but can have a noticeable impact on performance.
这是UIView的抗锯齿,在模拟器上还是有性能的消耗的.