gpt4 book ai didi

ios - 以编程方式更改约束

转载 作者:行者123 更新时间:2023-11-28 21:32:40 26 4
gpt4 key购买 nike

我有一个用户表单,其中有一堆标签及其相应的文本字段或下拉列表或复选框组垂直排列在 Storyboard 上。像这样:

Label 1
Text Field 1
Label 2
Check Box Group
Label 3
Drop Down Field
Label 4
Text Field 4

正常情况下,Label之间垂直设置的约束为60。

问题是,由于复选框组是根据从服务器检索到的数据动态填充的,所以我不知道在 StoryBoard 设计时标签 2 和标签 3 之间会有多少复选框。因此需要以编程方式更改标签 2 和标签 3 之间的约束。

目前,我所做的是在它们之间设置约束 60,但选中“在构建时删除”并根据它们之间的复选框数量以编程方式设置约束。像这样:

[_superView addConstraint:[NSLayoutConstraint constraintWithItem:_Label3 attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:_Label2 attribute:NSLayoutAttributeBottom multiplier:1 constant:100]];

但由于某些原因,这并没有按预期工作。尽管 Label3 正确放置在最后一个复选框之后,但我只能看到具有高度限制的 Label4 的一半。我试过了:

[superView updateConstraints];
[superView layoutIfNeeded];

但是没有用。

最佳答案

您可以在 Storyboard中添加垂直间距约束,并在 View Controller 中添加一个 nslayoutconstraint iboutlet var 并将其连接到 Storyboard中的约束。

现在可以通过编程方式将 constraint.constant 值更改为您想要的任何值,而不是添加它。

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

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