使用按钮切换UIStackView项顺序

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

我有一个StackView,里面还有另外两个视图

还有一个仅用于交换Stackview内部视图的按钮

问题是,当我尝试交换它们时,按钮仅在第一次时执行,但是第二次点击时不会重新交换视图

我用insertArrangedSubview尝试过此操作

@IBOutlet weak var stackView: UIStackView!
@IBAction func swapButton(_ sender: Any) {
            self.montos.insertArrangedSubview(self.montos.subviews[1],at: 0)

并且也尝试了addArrangedSubview

 @IBAction func swapButton(_ sender: Any) {
            montos.addArrangedSubview(self.montos.subviews[0])
    }

但都具有相同的结果

我读了this线程,但答案仅适用于viewDidLoad函数进行1次交换

我需要它们交换用户多次点击按钮的时间

swift uibutton stackview
1个回答
1
投票
您需要根据其值具有切换变量isViewsSwitched,才能在stackView中切换我们的视图

if self.isViewsSwitched{ stackview.addArrangedSubview(self.stackview.subviews[0]) self.isViewsSwitched = false }else{ stackview.addArrangedSubview(self.stackview.subviews[1]) self.isViewsSwitched = true }

此代码通过每次调用交换stackview内部的两个视图
© www.soinside.com 2019 - 2024. All rights reserved.