gpt4 book ai didi

iphone - 使用自动布局时动画 View 宽度

转载 作者:可可西里 更新时间:2023-11-01 05:13:07 25 4
gpt4 key购买 nike

我正在使用自动布局来定位自定义进度条(它只是一个带有背景颜色的 UIView)。我没有使用适当的进度条,因为当 UIView 就足够时,我不想完全自定义它来满足我的需要。

无论如何,我已经告诉 XCode 将进度条放在左边,并且离底部有一定的距离。这样可以正确定位它,但是当我为宽度设置动画时,什么也没有发生。如果我创建一个新的 UIVIew 然后动画它工作正常。约束是否阻止了它的动画化?完全不限制宽度

[UIView animateWithDuration:startingGameSeconds delay:0.0 options:UIViewAnimationOptionCurveLinear
animations:^(void) {
progressBar.frame = CGRectMake(progressBar.frame.origin.x,
progressBar.frame.origin.y,
320,
progressBar.frame.size.height);

}
completion:^(BOOL finished){
}];

最佳答案

当您使用自动布局时,您不应该再使用 setFrame: 方法。当您想为“框架”设置动画时,您必须为约束设置动画。我想您的自动布局约束是在 Interface Builder 中定义的。首先,确保你有一个宽度布局约束添加到你的进度条。接下来,为这个宽度布局约束创建一个 IBOutlet。您现在可以像这样为约束设置动画:

self.progressBarWidthLayoutConstraint.constant = 320;

[UIView animateWithDuration:1 animations:^{
[self.view layoutIfNeeded];
}];

关于iphone - 使用自动布局时动画 View 宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18764498/

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