UILabel动画调整大小副作用

时间:2010-07-22 07:02:09

标签: iphone animation uilabel

我遇到了一个问题,我需要为UILabel框架或其封闭视图框架的高度变化设置动画。标签是多行的。

问题在于,大文本最初不适合标签(比如它需要3行),然后动画标签的高度增加,立即将3行更改为4,然后动画帧增加。

相反的效果是当文本完全适合标签(4行),然后我动画高度降低,4行立即变为3,然后我才看到动画帧大小减小。

这当然不利于眼睛。

我期望的是保持标签的原点。完整无缺,然后随着帧的增加,从底部显示的文本越多。省略号可能会立即转换为缺失的单词,这不是问题。

1 个答案:

答案 0 :(得分:0)

如果你想保持origin.y完整,那么你必须使用CoreAnimation的东西为它设置动画。 设置一次:

label.layer.anchorPoint = CGPointMake(0,0); //I believe 0,0 is the upper left or it was 0,1?

执行此操作后,您只需要更改大小:

我会首先测量文本(使用NSString的方法)并查看标签是否需要调整大小。 如果需要,请调整label.numberOfLineslabel.layer.bounds = CGRectMake(label.layer.bounds.origin.x,label.layer.bounds.origin.y, label.layer.size.width, newHeight);

这应该有效

我希望这会有所帮助。