我遇到了一个问题,我需要为UILabel框架或其封闭视图框架的高度变化设置动画。标签是多行的。
问题在于,大文本最初不适合标签(比如它需要3行),然后动画标签的高度增加,立即将3行更改为4,然后动画帧增加。
相反的效果是当文本完全适合标签(4行),然后我动画高度降低,4行立即变为3,然后我才看到动画帧大小减小。
这当然不利于眼睛。
我期望的是保持标签的原点。完整无缺,然后随着帧的增加,从底部显示的文本越多。省略号可能会立即转换为缺失的单词,这不是问题。
答案 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.numberOfLines
和label.layer.bounds = CGRectMake(label.layer.bounds.origin.x,label.layer.bounds.origin.y,
label.layer.size.width, newHeight);
这应该有效
我希望这会有所帮助。