Ios 加载视图后如何更改StackView内容?

Ios 加载视图后如何更改StackView内容?,ios,iphone,swift,xcode8,Ios,Iphone,Swift,Xcode8,我在一个名为Stages的文件中创建了UIstackView的新实例 class Stages: UIStackView { override init(frame: CGRect) { super.init(frame: frame) } required init(coder: NSCoder) { super.init(coder: coder) } func SetUpStageOne() { add

我在一个名为Stages的文件中创建了UIstackView的新实例

    class Stages: UIStackView {

    override init(frame: CGRect) {
        super.init(frame: frame)
    }

    required init(coder: NSCoder) {
        super.init(coder: coder)
        }

func SetUpStageOne() {
add some views inside a stackview

func SetUpStageTwo() {
add some new views inside a stackview
}
我一直在想如何让StackView在运行时像这样出现

        class Stages: UIStackView {

        override init(frame: CGRect) {
            super.init(frame: frame)

           if score == 0 {
           SetUpStageOne()
    }
           if score == 1 {
           SetUpStageTwo()
        }

        required init(coder: NSCoder) {
            super.init(coder: coder)
           if score == 0 {
           SetUpStageOne()
    }
           if score == 1 {
           SetUpStageTwo()
        }

   }

    func SetUpStageOne() {
    add some views inside a stackview

    func SetUpStageTwo() {
    add some new views inside a stackview
    }
当分数==0时,我可以获得要显示的第一个StackView
但考虑到游戏,我想更新stackview,以便在分数=1时出现第二个stackview,但这不会发生。

尝试在每个setupstage方法结束时使用self.setNeedsLayout()。这将调整视图子视图的布局。self.setNeedsDisplay()将不起作用,因为如果您已重写draw(u-rect)函数,它将重置视图。

@user3211359我已更新了答案。希望这次能奏效。这就是interface builder中的Stackview的外观。我正在尝试将它链接到一个按钮,然后刷新stackview@Ali