CATextLayer
2019-01-25 本文已影响9人
XLsn0w
CATextLayer也要比UILabel渲染得快得多。
很少有人知道在iOS 6及之前的版本,UILabel其实是通过WebKit来实现绘制的,这样就造成了当有很多文字的时候就会有极大的性能压力。
而CATextLayer使 用了Core text,并且渲染得非常快
你会发现一个奇怪的地方:这些文本有一些像素化了。这是因为并没有以Retina的方式渲染,
这个 contentScale属性,用来决定图层内容应该以怎样的分辨率来渲染。contentsScale并不关心屏幕的拉伸因素而总是默认为1.0。
如果 我们想以Retina的质量来显示文字,我们就得手动地设置CATextLayer的contentsScale属性,如下:
textLayer.contentsScale = [UIScreen mainScreen].scale;