gpt4 book ai didi

iphone - CATextLayer 字体边框颜色?

转载 作者:可可西里 更新时间:2023-11-01 05:15:34 26 4
gpt4 key购买 nike

我希望我的文本被白色边框包围。我正在使用 CATextLayer 作为文本。我知道 CATextLayer 没有属性 borderColor/borderWidth。当然,我可以使用它的父类(super class) (CALayer) 的属性,但它会围绕层的框架而不是文本本身绘制边框。有人知道我如何使用 CATextLayer 实现这一目标吗?

enter image description here

最佳答案

以防万一有人对我的解决方案感兴趣:

基本上不用直接使用 CoreText 就可以制作带有笔划(边框)的文本。 CATextLayer 的字符串属性接受 NSAttributedStrings。因此,它就像在其属性中提供具有笔触颜色和笔触宽度的 NSAttributedString 一样简单。

不幸的是,我需要对字体大小进行动画处理。 string 属性是可动画的,但前提是它是 NSString。所以我决定继承 CATextLayer。经过多次尝试,我开始意识到字符串和 CATextLayer 的内容属性是互斥的,这意味着要么显示字符串,要么显示内容。我无法弄清楚如何自己绘制字符串。仅当更新内容时才调用 display 和 drawInContext:ctx 方法,但我不知道我必须调用什么来更新字符串。

所以我决定编写自己的 CATextLayer 类,继承 CALayer。我创建了一个名为 fontSize 的动画属性。当这一个动画时,调用 drawInContext:ctx 方法。在 drawInContext:ctx 方法中,我使用 CoreText 创建了一个新字符串,并使用 fontSize 属性相应地更新了它的大小。

关于iphone - CATextLayer 字体边框颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8702740/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com