IOS | Расположение кнопок в нескольких видах стека - PullRequest
0 голосов
/ 09 апреля 2020

Я хочу добавить четыре-пять кнопок динамически в UIView. Мое представление должно содержать 2 кнопки в ряду и 2 или 3 строки в зависимости от количества кнопок. Какой лучший способ сделать это? Я не хочу использовать представление коллекции из-за накладных расходов. Я думаю о добавлении нескольких горизонтальных стеков в вертикальном стеке. Но я застрял в создании стековых представлений. Название для кнопок предоставляется службой в массиве. Пожалуйста, предложите мне лучший способ сделать это.

PS: изображение является только представительным. Мне нужно только 4 - 5 кнопок

Sample UI needed

1 Ответ

0 голосов
/ 09 апреля 2020

Обращаясь к идее использования al oop, если у вас есть информация о вашем макете в переменных, таких как

let numberOfRows: Int
let buttonsPerRow: [Int]

Тогда при построении вашего макета вы можете l oop поверх них, например:

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

    for i in 0..<numberOfRows {
        let horizontalStackView = UIStackView()
        //configure distribution, axis...
        for _ in 0..<buttonsPerRow[i] {
            let b = UIButton()
            //configure button
            horizontalStackView.addArrangedSubview(b)
        }
        verticalStackView.addArrangedSubview(horizontalStackView)
    }
...