快速,如何在滚动视图的堆栈视图中使用for循环添加按钮?

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

我分别在其中添加了两个滚动视图和两个垂直堆栈视图。约束已经设置。我已经将两个堆栈视图连接为ViewController.swift中的插座集合。假设我有一个字符串数组,例如

我想使用for循环在顶部堆栈视图中添加一些按钮(与标签的长度相同)。我该怎么做呢?并且由于堆栈视图处于滚动视图中,我是否需要指定两个按钮之间的距离?

我的代码在下面。

    @IBOutlet var topStackView: [UIStackView]!
    @IBOutlet var bottomStackView: [UIStackView]!
    @IBOutlet weak var enterItemTextField: UITextField!
    let labels = ["a", "b", "c", "d", "e"]


    override func viewDidLoad() {
        super.viewDidLoad()
        enterItemTextField.delegate = self

        var buttons = [UIButton()]
        for _ in 0..<labels.count {

            let button = UIButton(type: UIButton.ButtonType.system)
            # some operations on button
            buttons.append(button)
        }
        # what do I do here?

    }

Stackview调整位置的自由度较小。我已经删除了stackview并将按钮直接放在滚动视图上。

swift uiscrollview uistackview
1个回答
0
投票

您需要之后

buttons.append(button)
topStackView.addArrangedView(button)

顺便说一句,您不需要收藏的单个项目就可以

@IBOutlet var topStackView: UIStackView!
@IBOutlet var bottomStackView: UIStackView!

代替

@IBOutlet var topStackView: [UIStackView]!
@IBOutlet var bottomStackView: [UIStackView]!

我需要指定两个按钮之间的距离吗?

没有,您不必这样做,但是您可以这样做

topStackView.spacing = 20
© www.soinside.com 2019 - 2024. All rights reserved.