我对CATextLayer有一个简单的缩放问题,但我无法理解: 我希望CATextLayer的大小与它的超级层成比例增长: 如果超级层的宽度为300,则CATextLayer的文本大小应为12,如果超级视图的宽度为600,则文本大小应为24。 我找不到一个有效的解决方案!
你能告诉我一个线索吗?谢谢,朱利安。
答案 0 :(得分:1)
您可以按比例缩放字体大小。例如,如果超级层的宽度从300变为600,则为600/300 = 2.然后将字体大小乘以2.
答案 1 :(得分:0)
如果您希望图层使用其超级图层进行缩放,则需要设置其autoresizingMask
属性,如下所示:
myTextLayer.autoresizingMask = ( kCALayerWidthSizable | kCALayerHeightSizable );
但是,这可能不会改变文本的大小,因为它是CATextLayer
的固定属性。您可能必须更改文本的大小以响应您自己的图层大小的变化。
答案 2 :(得分:0)
有同样的问题。 你应该 -
[textLayer setContentsScale:theScaleOfSuperLayer];