Ios 加载视图后如何更改StackView内容?
我在一个名为Stages的文件中创建了UIstackView的新实例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
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