UILabel高度变化,动画从中心扩展

7
我想使用动画增加标签的高度,但是动画会导致标签首先从中心扩展,然后跳到正确的y点。这看起来很糟糕。我希望只有底部扩展。
[UIView animateWithDuration:0.5 delay:0.0f options:UIViewAnimationOptionTransitionNone animations:^{

   [self.about increaseHeightFromTopLeft:deltaHeight];

   [self.scrollView increaseContentHeight];

} completion:nil];


- (void)increaseHeightFromTopLeft:(CGFloat ) increased  {

    CGRect newFrame = CGRectMake(self.originX, self.originY, self.frameWidth, self.frameHeight + increased);

    self.frame = newFrame;
}

1
在我看来,需要动画的是下方的按钮。标签本身的文本不是可动画化属性。标签可以从大尺寸开始,部分被它们共享的子视图中的按钮遮盖,然后更改标签中的文本并滑动按钮。 - danh
虽然这不是我想要的答案,但我仍然按照你建议的去做了,看起来很不错。谢谢。 - Tommy Sadiq Hinrichsen
1个回答

18
遇到了同样的问题! 在代码中尝试将标签的 contentMode 设置为 Top
在 Objective-C 中
label.contentMode = UIViewContentModeTop;

在Swift中:

label.contentMode = .top

好问题,好答案。他应该接受你的答案。你为我节省了大量时间。谢谢。 - oyalhi
非常好的答案。但是如果您喜欢自动布局,您可以在视图下的属性检查器中设置内容模式。我将其设置为顶部,它按预期工作。 - Seop Yoon
很好的答案,谢谢。我正在使用Label -> Stack View -> TableViewCell,它非常好用。 - redwheelbarrow

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接