如何使视图高度取决于它在 Swift 中的内容?
Posted
技术标签:
【中文标题】如何使视图高度取决于它在 Swift 中的内容?【英文标题】:How can I make views height depend on its content in Swift? 【发布时间】:2017-03-13 18:36:42 【问题描述】:我有一个视图和其中的一些元素
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
的高度。
如何以编程方式实现?
【问题讨论】:
【参考方案1】:您是否尝试过对 about_txt 视图使用 sizeThatFits(_:) 方法。使用此函数返回的大小并将超级视图的大小设置为该大小。 https://developer.apple.com/reference/uikit/uiview/1622625-sizethatfits
如果您在视图显示在屏幕上之前添加了子视图,您可以在视图控制器的 viewWillAppear 方法中设置高度。您还可以在 viewWillLayoutSubviews 中更新尺寸。 如果您使用自动布局,请查看setNeedsLayout vs. setNeedsUpdateConstraints and layoutIfNeeded vs updateConstraintsIfNeeded
【讨论】:
你认为我会从苹果的文档中学到任何关于 swift 的知识吗?请举例说明如何使用 sizeThatFits?以上是关于如何使视图高度取决于它在 Swift 中的内容?的主要内容,如果未能解决你的问题,请参考以下文章