gpt4 book ai didi

ios - 如何以编程方式更新约束?

转载 作者:搜寻专家 更新时间:2023-11-01 05:51:19 24 4
gpt4 key购买 nike

我想在代码中以编程方式更新约束。我已将它们添加到 Storyboard Controller 中。我为约束制作了 IBOutlet 并将它们连接起来。我在 updateViewConstrains() 中添加了值,但它不起作用:

func updateViewConstraints() {
centerYConstraint.constant = 60

super.updateViewConstraints()
}

最佳答案

在你的 viewController.h 文件中创建一个 IBOutlet :

@property (weak, nonatomic) IBOutlet NSLayoutConstraint *nameButtonVerticalConstraint;

现在将它与相关的自动布局约束连接起来:

enter image description here

现在您可以像这样简单地更改约束:

self.nameButtonVerticalConstraint.constant=25;

如果你想要更平滑的过渡,你可以把它放在一个动画 block 中:

[UIView animateWithDuration:1.2 delay:1 options:UIViewAnimationOptionCurveEaseInOut animations:^{
self.nameButtonVerticalConstraint.constant=50;
[self.view layoutIfNeeded];
} completion:nil];

编辑:这里是 this 的摘录文章

如果其他约束会因为更新上面的约束而受到影响,还必须调用下面的方法:

[viewForUpdate setNeedsUpdateConstraints];

现在,通过在动画 block 中调用 layoutIfNeeded 为您的 View 设置动画。

关于ios - 如何以编程方式更新约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29470996/

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