Получить индекс View от Stackview - PullRequest
       7

Получить индекс View от Stackview

0 голосов
/ 19 сентября 2018

Я добавил 2 вида в stackview с разным размером.Теперь, когда я нажимаю кнопку «плюс» в любом представлении, я просто хотел добавить представление прямо под этим.

Я получаю представление по:

let index = superView.subviews.index(of: view)

и затем я делаю:

superView.insertArrangedSubview(newView, index + 1)

но на самом деле он добавляет новый вид в другую позицию.

Итак, если я пытаюсь получить индекс по .subview.index, он всегда возвращает последний индекс

1 Ответ

0 голосов
/ 19 сентября 2018

Массивы arrangedSubviews и subviews не обязательно должны быть одинаковыми (поскольку представление стека может иметь подпредставление, которое не «упорядочено»).Даже если они имеют одинаковые элементы, они не обязательно должны быть в одинаковом порядке.

Итак:

if let index = stackView.arrangedSubviews.firstIndex(of: view) {
    stackView.insertArrangedSubview(newView, at: index + 1)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...