我有一个视图和一些元素
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
的高度。< / p>
如何以编程方式实现?
答案 0 :(得分:1)
您是否尝试过使用 sizeThatFits(_:)方法进行about_txt视图。使用此函数返回的大小,并将superview的大小设置为该大小。 https://developer.apple.com/reference/uikit/uiview/1622625-sizethatfits
如果在视图显示在屏幕上之前添加了子视图,则可以在视图控制器的 viewWillAppear 方法中设置高度。您还可以在 viewWillLayoutSubviews 中更新尺寸。 如果您正在使用自动布局,请查看setNeedsLayout vs. setNeedsUpdateConstraints and layoutIfNeeded vs updateConstraintsIfNeeded