动画截断CATextLayer

时间:2011-05-04 16:06:22

标签: iphone objective-c ios core-animation calayer

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

Garageband screen

在我试图在其父层的边界内调整CATextLayer的大小时,我有:

  • 将我的CATextLayer的truncationMode属性设置为kCATruncationMiddle。
  • 设置我的CALayer的masksToBounds属性
  • 为CATextLayer设置默认框架矩形(否则不绘制)

以下是发生的事情:

  • 当我将动画转换应用于父图层(通过触摸事件)时,CATextLayer字符会拉伸和扭曲。
  • 当动画转换结束时,将重绘父图层。 CATextLayer不会显示在父图层之外,但其框架rect仍保留在我最初设置的位置。

1 个答案:

答案 0 :(得分:1)

您想要做的是为CALayerCATextLayer的{​​{1}}属性设置动画,而不是bounds属性。