Как добавить подпредставления в стеке сверху вниз? - PullRequest
1 голос
/ 19 сентября 2019

Я добавляю метки в стек, и у меня возникают проблемы с их добавлением в верхнюю часть стека, а не в середину.

enter image description here

Я пытаюсь выполнить это с помощью следующего кода:

let textLabel = UILabel()
    textLabel.textColor = .white
    textLabel.widthAnchor.constraint(equalToConstant: self.stkCombatStackView.frame.width).isActive = true
    textLabel.text  = "This is a test"
    textLabel.textAlignment = .left
    stackview.addArrangedSubview(textLabel)

Я хочу добавить ярлыки изсверху вниз, как я могу это сделать?без странного пробела?

У меня установлен интервал в инспекторе 1

(у меня также есть вид стека, вложенный в вид скролла в раскадровке, но я не могу прокрутить вид стекана все)

1 Ответ

1 голос
/ 19 сентября 2019

Я добавляю метки в просмотр стека, и у меня возникают проблемы с их добавлением в верхнюю часть стека, а не в середину.

Вам, вероятно, следует позвонить insertArrangedSubview(_: at:) вместо addArrangedSubview().Метод insert... позволяет вам указать индекс, по которому нужно вставить новое представление.

Я хочу добавить метки сверху вниз, как я могу это сделать?без странного расстояния?

Вы уверены, что используете правильный инструмент для работы?Представление в стеке хорошо для размещения разнородного списка представлений в фиксированном пространстве, и оно перемещает и / или изменяет размеры представлений в списке для равномерного заполнения представления.Взгляните на значения Distribution: вы можете либо заполнить представление стека, изменив содержимое несколькими способами, либо распределить содержимое равномерно по высоте (или ширине)просмотр стека.Нет возможности просто перечислить содержащиеся виды и оставить дополнительное место внизу, что, по-видимому, является тем, что вам нужно.

Некоторые варианты, которые вы могли бы рассмотреть:

  • используйте UICollectionView: Представления коллекций невероятно гибкие, позволяя вам выложить список элементов в любой мыслимой геометрии;предоставленный менеджер макетов наверняка будет работать для ваших нужд, но если он вам не понравится, вы можете написать собственный менеджер макетов или использовать чужие.UICollectionView является подклассом UIScrollView, поэтому прокрутка проста.

  • используйте UITableView: Табличное представление дает вертикальный список (обычно, но не обязательно,аналогично) ячейки, которые могут содержать все, что вы хотите, и то поведение, которое вы ищете, является неотъемлемой частью работы таблицы.UITableView также является подклассом UIScrollView.

  • сверните свое собственное: Не так сложно создать представление, которое просто содержит список других представлений и размещает их согласнопо любому алгоритму, который вам нравится;если таблица или коллекция не будут работать для ваших нужд (что кажется маловероятным), написание собственного контейнера будет работать лучше, чем попытка принудительно отправить UIStackView.

...