gpt4 book ai didi

ios - 如何在代码中编辑约束

转载 作者:技术小花猫 更新时间:2023-10-29 10:41:48 25 4
gpt4 key购买 nike

我有一个以 100 宽度限制开始的网页。

当用户单击按钮时,我想将约束更改为:200。

我试过这个:

NSLayoutConstraint *constrain = [NSLayoutConstraint
constraintWithItem:self.webPage
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:self.webPage
attribute:NSLayoutAttributeWidth
multiplier:1
constant:100];




[self.webPage addConstraint:constrain];

但这会抛出这个异常:“无法同时满足约束条件。”

有什么想法吗?

最佳答案

您有两个选择。

  1. 获取对原始约束的引用并将常量部分更改为200
  2. 获取对原始约束的引用并将其从 View 中删除,并添加新约束

我会选择第一个选项。要获得引用,请将 @property 作为约束添加到您的 viewController 并在您创建它时分配它。

如果您在 xib 或 Storyboard 中创建约束,请将约束与 IBOutlet 连接连接到您的代码,类似于连接 UILabel 时所做的操作。

然后您可以轻松调整约束的常量部分。


此外,您的约束可能应该更多地遵循这些原则:

NSLayoutConstraint *constraint = [NSLayoutConstraint
constraintWithItem:self.webPage
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:nil
attribute:NSLayoutAttributeNotAnAttribute
multiplier:1
constant:100];

关于ios - 如何在代码中编辑约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18897353/

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