gpt4 book ai didi

ios - 为什么 "label.text = nil"的行为类似于 "label.frame.height = 0",但打印帧显示了一些值?

转载 作者:行者123 更新时间:2023-11-29 01:23:18 24 4
gpt4 key购买 nike

在 Storyboard中我放置了一个 UILabel,在下面我放置了一个 UIView。我已将 UIView.Top 固定到 UILabel.Bottom。

如果我设置label.text = nilviewDidLoad() UIView.Topegde 向上移动的量与 label.frame.height 相同。 .但不久之后我打印了 label.frame我可以看到框架保持不变。

为什么会发生这种情况?
我的帧尺寸是否错误?

override func viewDidLoad() {
super.viewDidLoad()
label.text = nil
print("label frame = \(label.frame)")
}

最佳答案

您在进行更改后立即打印框架(将标签的文本设置为 nil)。那是在自动布局有机会根据标签的新固有内容大小更新框架之前。 View 布局通常在每个运行循环中只更新一次(并且只有在它们发生变化时才更新),这样您就可以进行多次更改,而无需在每次更改后都执行可能代价高昂的重新布局。

关于ios - 为什么 "label.text = nil"的行为类似于 "label.frame.height = 0",但打印帧显示了一些值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34340918/

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