gpt4 book ai didi

ios - 使用约束获取 uiview 集的高度/宽度

转载 作者:搜寻专家 更新时间:2023-11-01 06:40:57 24 4
gpt4 key购买 nike

如何检索 UIView 的计算高度/宽度是使用 NSConstraint 设置的高度和/或宽度?

换句话说:在使用自动布局和约束对元素进行布局后,我想检索 UIView 的“宽度”或“高度”的 CGFloat 值。

最佳答案

当您确定您的 View 完全由布局系统布局时,没有特别的意义。但是在每个布局周期之后都会调用一些方法。

因此,如果您的 textField 是自定义类或自定义 UIView 的一部分,例如 UITableViewCell,则此方法将是 布局 subview 。在这种情况下,您可以使用以下代码获取尺寸:

override func layoutSubviews() {
super.layoutSubviews()
textWidth = textField.frame.width
textHeight = textField.frame.height
}

每次布局发生变化(例如方向变化或其他一些元素改变了它们的框架或约束)时,此代码都会为您提供正确的值。

如果您没有自定义 View ,但您直接在 UIViewController 中使用 textField,方法是 viewDidLayoutSubviews。这会在 viewController 完成整个 View 层次结构的布局后调用。

override func viewDidLayoutSubviews() {
super.layoutSubviews()
textWidth = textField.frame.width
textHeight = textField.frame.height
}

如果我能为您提供进一步的帮助或者您有更多问题,请告诉我。希望这对您的实现有所帮助。

关于ios - 使用约束获取 uiview 集的高度/宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35519540/

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