设置UIView以根据子视图更改其高度

时间:2018-08-02 21:29:33

标签: ios swift autolayout

我正在创建一个弹出窗口,并且已经设置了弹出视图的高度,但是我希望弹出窗口的高度能够自动调整为其子视图

在iPhone 8上的外观:screenshot 1

及其在Iphone 5s上的外观:screenshot 2

我希望弹出视图自动调整大小以适合子视图

我正在使用这个

let popUpViewWidth = (view.frame.width / 1.4) + 10
    let popUpViewHeight = view.frame.height / 1.8

    popUpView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
    popUpView.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
    popUpView.widthAnchor.constraint(equalToConstant: popUpViewWidth).isActive = true
    popUpView.heightAnchor.constraint(equalToConstant: popUpViewHeight).isActive = true

我知道我已经将固定大小设置为popUpView,但是,如何进行更改以使其动态更改高度,谢谢。

注意:我没有使用任何情节提要,所以plz不建议与情节提要相关的答案,对不起我的英语不好

1 个答案:

答案 0 :(得分:0)

一种简便的方法是将所有子视图嵌入到垂直堆栈视图中。 StackView会根据其子视图自动设置宽度和高度。