gpt4 book ai didi

ios - NSLayoutConstraint 常量的值始终返回 0 swift 3

转载 作者:行者123 更新时间:2023-11-28 10:57:00 26 4
gpt4 key购买 nike

我正在使用 Swift 3 做一个 iOS 项目,我有一个 UIPagerViewController,我在其中一个 ViewController 的边框中创建了一个按钮。之后,我向按钮添加了一个约束,如下图所示: enter image description here

约束的值为-33

之后,我为该约束创建关联的 IBOutlet :

@IBOutlet weak var rightButtonConstraint: NSLayoutConstraint!

我想在 ViewController 启动时以编程方式获取此值,所以我这样做了:

public var defaultRightConstraint: CGFloat = 0.0
override func viewDidLoad() {
super.viewDidLoad()
defaultRightConstraint = rightButtonConstraint.constant // the constraint return 0
print(" DEFAULT RIGHT CONSTRAINT \(defaultRightConstraint)") // Returns 0 and not -33 why ?
}

但是我得到的值已经是 0 而不是 -33 我做错了什么?

编辑:

我试过了,没有成功:

override func viewDidLayoutSubviews() {
self.view.layoutIfNeeded()
defaultRightConstraint = rightButtonConstraint.constant
print(" DEFAULT RIGHT CONSTRAINT \(rightButtonConstraint.constant)")
}

最佳答案

viewDidLoad()时, View 的 subview 还没有布局。尝试将代码放在 viewDidLayoutSubviews() 中,或者在检查约束常量之前调用 view.layoutIfNeeded()

关于ios - NSLayoutConstraint 常量的值始终返回 0 swift 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42873002/

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