我有一个 View 和其中的一些元素
let background_img_view: UIView = {
let view = UIView()
return view
}()
background_img_view.addSubview(background_image)
background_img_view.addSubview(border)
background_img_view.addSubview(about_txt)
about_txt
大小未知,可以是 30px 或 300px,现在我希望我的 background_img_view
的高度取决于 about_txt
的高度。
如何以编程方式实现它?
最佳答案
您是否尝试过对 about_txt View 使用 sizeThatFits(_:) 方法。使用此函数返回的大小并将 super View 的大小设置为该大小。 https://developer.apple.com/reference/uikit/uiview/1622625-sizethatfits
如果您在 View 显示在屏幕上之前添加了 subview ,则可以在 View Controller 的 viewWillAppear 方法中设置高度。您还可以在 viewWillLayoutSubviews 中更新大小。 如果您使用的是自动布局,请查看 setNeedsLayout vs. setNeedsUpdateConstraints and layoutIfNeeded vs updateConstraintsIfNeeded
关于ios - 如何使 View 高度取决于 Swift 中的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42771011/