IOS |在多个堆栈视图中排列按钮

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

我想在UIView中动态添加四个到五个按钮。我的视图必须连续包含2个按钮,并基于按钮的数量包含2或3行。哪个是最好的方法?由于开销,我不想使用集合视图。我正在考虑在垂直堆栈视图中添加多个水平堆栈视图。但是我一直坚持创建堆栈视图。按钮的标题由Array中的服务提供。请建议我这样做的最佳方法。

PS:图像仅具有代表性。我需要的视图应该只有4到5个按钮

Sample UI needed

ios swift uibutton uikit
1个回答
0
投票

如果您的布局信息包含在变量中,例如[使用循环的想法]

let numberOfRows: Int
let buttonsPerRow: [Int]

然后构建布局时,您可以像这样循环遍历它们:

let verticalStackView = UIStackView()
    //configure distribution, axis...

    for i in 0..<numberOfRows {
        let horizontalStackView = UIStackView()
        //configure distribution, axis...
        for j in 0..<buttonsPerRow[i] {
            let b = UIButton()
            //configure button
            horizontalStackView.addArrangedSubview(b)
        }
        verticalStackView.addArrangedSubview(horizontalStackView)
    }
© www.soinside.com 2019 - 2024. All rights reserved.