我在UIScrollView中使用UIStackView,我想确定堆栈视图的高度,以便我可以编程方式调整滚动视图的高度,以适应隐藏子视图的情况。
我正在使用
stackView.frame.height
确定堆栈视图高度。这在viewDidLoad()
中调用,但无论子视图是否隐藏,它始终与故事板中的高度值相同。
如何确定身高?
答案 0 :(得分:6)
对任何视图进行布局更改后,必须在功能完成后重新计算它的帧。要立即获取更新的框架,请致电:
stackView.layoutIfNeeded()
示例:
print(stackView.frame.height) // old height
subview1.isHidden = true
print(stackView.frame.height) // still old height
stackView.layoutIfNeeded()
print(stackView.frame.height) // new height
有关详细信息,请参阅the documentation。