gpt4 book ai didi

ios - 无法获取 NSLayoutConstraint 的约束

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

这是我的代码:

let b = NSLayoutConstraint(item: some, attribute: fromAttribute, relatedBy: NSLayoutRelation.equal, toItem: some2, attribute: toAttribute, multiplier: multiplier, constant: -5)
b.isActive = true
self.layoutIfNeeded()
print(b.constant)
print(some.constraints.first(where: {$0.constant == -5 }))

这是我的打印品:

-5.0
nil

如何在代码中恢复该约束?为什么它打印出零?我想稍后为约束的常量设置动画。谢谢。

最佳答案

让我们从核心问题开始:

如何在代码中恢复该约束?

理想情况下,您不需要。您在创建它时将其保存到变量中,例如:

var myConstraint: NSLayoutConstraint?

func x() {
let b = NSLayoutConstraint(...)
...
myConstraint = b
}

为什么打印出来的是nil?

当设置 isActive = true 时,约束被添加到最近的公共(public)父 View 。例如,如果 AB 的父 View 并且您有一个相同宽度的约束,那么该约束将被添加到 A 并且它获胜'出现在 B 上。

仅当 some2some 的 subview 时,才会将约束添加到 some

关于ios - 无法获取 NSLayoutConstraint 的约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46352428/

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