如何为 NSAttributedString 设置动画?

Posted

技术标签:

【中文标题】如何为 NSAttributedString 设置动画?【英文标题】:How to animate NSAttributedString? 【发布时间】:2015-05-28 20:12:29 【问题描述】:

我需要为属性字符串的颜色和比例设置动画。 CATextLayer 对我不起作用,因为它只能更改纯字符串的前景色..

我找到了另一个解决方案,但我也没有让它工作Link

我需要让它同时在 Mac 和 ios 上运行。 我认为图层是理想的,因为我可以在那里轻松地进行缩放..

你有什么想法吗?

【问题讨论】:

【参考方案1】:

如果您需要为不可动画的属性设置动画,可以使用CADisplayLink。这允许您通过在每次屏幕刷新时执行一个方法来创建自己的动画。虽然它看起来有点低级,但实现起来并不难。 您可以在网络上轻松找到教程/示例。

注意:它不会周期性地触发你的方法,因此不要假设任何关于时间的事情并保持一个计数器并自己计算你的动画进度。除此之外,CADisplayLink 很酷。

编辑:正如 Max 指出的,CADisplayLink 不适用于 Mac。但是有CVDisplayLink,我想你可以通过它来实现想要的动画。有关 CVDisplayLink 的更多信息,您可以查看 Brad Larson 的 that answer。

【讨论】:

不幸的是,CADisplayLink 仅适用于 iOS,不适用于 OS X 我在 Mac SDK 中找到了相当于 CADisplayLink 的:CVDisplayLink

以上是关于如何为 NSAttributedString 设置动画?的主要内容,如果未能解决你的问题,请参考以下文章

使用 NSAttributedString 设置字体

如何为 CAShapeLayer 路径和填充颜色设置动画

如何为 RecyclerView 设置 onItemClickListener? [复制]

如何为 UITabBarItem 设置自定义标题属性

如何在不调用 textViewDidChangeSelection 的情况下设置 NSAttributedString 属性?

如何为 QBChat 设置 currentUser()?