gpt4 book ai didi

ios - Animate autoLayout 约束在 iOS 7 上不起作用

转载 作者:行者123 更新时间:2023-11-28 18:56:24 25 4
gpt4 key购买 nike

我有一个 UIButton,它只有 4 个与其高度、宽度、顶部、左侧相关的约束。当用户点击按钮时,我通过添加这样的常量值来更新其顶部约束

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

-(void)updateMyButtonConstraints {
myTopButtonConstraint.constant = 10;
}

当我在 iOS 8 上运行我的应用程序时,它的工作就像一个魅力,但在 iOS 7 上,约束动画不起作用,按钮基本上从点 a 移动到点 b,没有任何动画

PS:我尝试在开始动画之前放置更新约束指令,但它也没有用

我该如何解决这个问题?我做错了什么?谢谢你的帮助

最佳答案

您按错误的顺序做事,并且忘记通知布局系统需要布局。像这样:

[self updateMyButtonConstraints];
[self.view setNeedsLayout]; // not "layoutIfNeeded"!
[UIView animateWithDuration:0.4 animations:^{
[self.view layoutIfNeeded];
}];

在我的测试中,它在 iOS 7、iOS 8 和 iOS 9 中运行。如果它不适合你,那么你正在做一些你没有透露的事情。

关于ios - Animate autoLayout 约束在 iOS 7 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32170893/

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