CATextLayer 的动画截断

Posted

技术标签:

【中文标题】CATextLayer 的动画截断【英文标题】:Animate truncation of CATextLayer 【发布时间】:2011-05-04 16:06:22 【问题描述】:

我有一个带有 CATextLayer 子图层的 CALayer。当我应用变换或以其他方式调整 CALayer 的大小时,我需要 CATextLayer 在其父级范围内调整大小。在调整大小时,CATextLayer 还需要在不扭曲字符比例的情况下截断其字符。当您在序列视图(屏幕下方)中调整剪辑大小时,可以在 iPad 版 Garageband 中看到此效果。

在尝试调整 CATextLayer 在其父层范围内的大小时,我有:

将我的 CATextLayer 的 truncationMode 属性设置为 kCATruncationMiddle。 设置我的 CALayer 的 maskToBounds 属性 为 CATextLayer 设置一个默认的框架矩形(否则它不会绘制)

会发生什么:

当我将动画转换应用到父层(通过触摸事件)时,CATextLayer 字符会拉伸和扭曲。 当动画变换结束时,父层被重绘。 CATextLayer 不会出现在父图层之外,但它的框架矩形保持在我最初设置的位置。

【问题讨论】:

【参考方案1】:

听起来您想要做的是动画CALayerCATextLayerbounds 属性,而不是它们的transform 属性。

【讨论】:

以上是关于CATextLayer 的动画截断的主要内容,如果未能解决你的问题,请参考以下文章

截断 UIBezierPath

CATextLayer 的动画foregroundColor 属性

%00

iOS 7 中用于点击截断的 UIPickerView 交互区域

Choppy CATextLayer 动画:fontSize + position 同时

cocos creator 知识点记录二:富文本打字昵称截断