iOS - 获取容器视图内容动态高度

问题描述 投票:0回答:1

在我的应用程序中使用ContainerView,其中包含以下内容

  • StackView 的UIView 的TableView 的UIView

在某些情况下,我必须隐藏视图,tableview。通过以下设置,我可以显示具有动态高度的容器视图

  • view.translatesAutoresizingMaskIntoConstraints = false
  • UITableView contentSize观察员通过改变tableview高度。

但是在这里我无法获得containerView内容的动态高度。

我尝试过以下选项来获取容器视图内容高度,但没有运气

  • containerView.frame.size.height
  • containerView.bounds.size.height
  • stackView.frame.size.height
  • stackView.bounds.size.height
  • 在获得高度之前使用带有containterView的setNeedsLayout(),stackView
  • 在获得高度之前用containterView调用layoutIfNeeded(),stackView
  • 试图在override func viewDidLayoutSubviews()override func viewWillLayoutSubviews()中获得containsView,stackView高度
ios swift uiviewcontroller uistackview uicontainerview
1个回答
0
投票

终于找到了答案,下面是实现解决方案的步骤

  • 对于StackView,我们必须将底部约束设置为>= 0
  • 隐藏StackView中的任何视图后,我们必须在StackView上应用stackView.setNeedsLayout(), stackView.layoutIfNeeded()
  • 现在,如果您打印堆栈视图框架,它将显示更新的框架结果。
© www.soinside.com 2019 - 2024. All rights reserved.