gpt4 book ai didi

ios - 动画 UILabel 增长和收缩

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:55:54 25 4
gpt4 key购买 nike

我在屏幕的左上角有一个小按钮,它设置有约束。当点击这个按钮时,我希望 UIlabel 从它扩展到屏幕的右边缘。 UIlabel 将占据几乎整个屏幕的宽度,高度约为 8Points。它包含一行文本。它会在反转动画之前显示 2 秒,以便 UILabel 收缩回小按钮。我是 ios 动画的新手,因为有很多类型而感到困惑!我需要知道:

1) 我可以使用什么类型的动画技术来创建这种效果?代码会很好,但我想指出正确的学习方向。

2) 我读到 UILabel 对动画的响应不充分。以我描述的方式为它们设置动画是否有问题?

3) UILabel 中的文本(以及标签本身!)必须通过某种与动画协同工作的约束分配来适应各种屏幕尺寸。 UILabel 的大小/位置必须通过自动布局以编程方式设置。

谢谢

更新:我在 animationWithDuration 方法之前添加了这一行(注意:(10,5, ....) 是小按钮所在的位置):

_questionDisplay = [[UILabel alloc]initWithFrame:CGRectMake(10, 5, 0, 30)];

..第一个动画 block 中的这一行:

_questionDisplay.frame = CGRectMake(10, 5, 600, 30);

..和下面的 animationWithDuration 方法之后的这一行,该方法在第一次通过 NSTimer 后 3.5 秒被调用:

_questionDisplay.frame = CGRectMake(10, 5, 0, 30);

一旦标签缩小,它就会从 View 中移除。

这在 iPhone6+ 上看起来不错,但在 4s 上看起来不对,因为标签的大小没有受到我需要的约束。

最佳答案

objective-c

[UILabel animateWithDuration:1
animations:^{
yourView.transform = CGAffineTransformMakeScale(1.5, 1.5);
}
completion:^(BOOL finished) {
[UILabel animateWithDuration:1
animations:^{
yourView.transform = CGAffineTransformIdentity;

}];
}];

swift

UILabel.animateWithDuration(1, animations: { () -> Void in
yourView.transform = CGAffineTransformMakeScale(1.5, 1.5)
}) { (finished: Bool) -> Void in
UILabel.animateWithDuration(1, animations: { () -> Void in
yourView.transform = CGAffineTransformIdentity
})}

关于ios - 动画 UILabel 增长和收缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37788058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com