Я пытаюсь получить некоторые советы о том, как реализовать аналогичное поведение «перетащить, чтобы изменить порядок», найденное на UITableView
, но на UIStackView
.UIStackView - перетащите, чтобы изменить порядок уложенных объектов?
До сих пор это то, что я имею в виду:
- Добавить длинный пресс жест распознаватель к каждому из
arrangedSubview
s - На длительное нажатие, добавить наложение
UIView
как подвид в главном окне и это заполняет весь основной вид. Этот вид наложения будет выступать в качестве «холста», своего рода, как я тащу временный «изменить порядок» вид-we'll вызов этогоtempView
- около (подробнее об этом в 4) - Установите
alpha
изarrangedSubview
до 0 (установкаhidden = true
приведет кUIStackView
анимации закрытия, как если бы она была удалена. - Добавить
tempView
в виде наложения (см 3) с тем же начальным кадром в качествеarrangedSubview
- Перетащите
tempView
вверх или вниз и вставить/удалить фактическийarrangedSubview
по расчетному индексу bas ed на позицииtempView
. - Слушайте, когда длинное нажатие
state
равно.Ended
и установитеarrangedSubview.alpha = 1
и снимите вид сверху с основного вида.
Любые предложения? Любые явные отверстия, которые кто-либо видит? Что бы вы изменили? Какое направление вы бы предприняли для этого?
, вероятно, было бы намного лучше, если бы вы использовали табличное представление, оно отлично справляется с переупорядочивающими анимациями и материалами, что потребует много усилий для тиражирования, если вы попытаетесь сделать это сами. есть ли конкретная причина, почему вам нужно использовать stackview? – Fonix
@Fonix Я знаю, что было бы проще использовать UITableView, но я пытаюсь заставить эту работу работать с UIStackView (и чистой радостью), чтобы заставить его работать с UIStackView. –
Звучит неплохо - Вам удалось его построить? Я начал переносить большую часть своего кода на UIStackViews, и это была огромная победа над моим старым кодом. Переупорядочение представлений в UIStackView решило бы одну из моих больших проблем в настоящее время. – Mof