str*_*ave 4 iphone objective-c calayer ipad ios
我希望我的文字被白色边框包围.我正在使用CATextLayer作为文本.我知道CATextLayer没有属性borderColor/borderWidth.当然,我可以使用其超类(CALayer)的属性,但它会在图层的框架周围绘制边框,而不是文本本身.有人知道如何使用CATextLayer实现这一目标吗?

万一有人对我的解决方案感兴趣:
基本上可以直接使用笔划(边框)创建文本而不使用CoreText.CATextLayer的字符串属性接受NSAttributedStrings.因此,它就像给NSAttributedString一样容易,它的属性中包含笔触颜色和笔触宽度.
不幸的是我需要动画字体大小.string属性是可动画的,但前提是它是NSString.所以我决定继承CATextLayer.经过多次尝试后,我意识到CATextLayer的字符串和内容属性是互斥的,这意味着要么显示字符串,要么显示内容.我自己无法弄清楚如何绘制字符串.只有在更新内容时才会调用display和drawInContext:ctx方法,但我不知道在更新字符串时我需要调用什么.
所以我决定编写自己的CATextLayer类,继承CALayer.我创建了一个名为fontSize的动画属性.当这个动画时,调用drawInContext:ctx方法.在drawInContext:ctx方法中,我使用CoreText创建一个新字符串,并使用fontSize属性相应地更新其大小.
| 归档时间: |
|
| 查看次数: |
1741 次 |
| 最近记录: |