SwiftUI LazyVGrid анимирует изменение «страницы»

#ios #swiftui #swiftui-animation #lazyvgrid

#iOS #swiftui #swiftui-анимация #lazyvgrid

Вопрос:

Я пытаюсь обрабатывать целое LazyVGrid как страницы и анимировать при переключении вперед или назад. Простая анимация слайдов была бы прекрасной.

В настоящее время у меня есть что-то вроде

       LazyVGrid(
        columns: [array of column info],
        alignment: .center,
        spacing: 4
      ) {
        ForEach(cells) { cell in
          CellView(cell: cell)
        }
      }
 

У меня есть страницы cells , которые устанавливаются в состояние, когда вы нажимаете кнопки fwd или back , и они немедленно повторно отображаются. Тем не менее, было бы здорово установить слайд вперед / назад при нажатии кнопок. Я не смог легко разобраться в этом с transition помощью and animation .

Если это делает совершенно другая библиотека, я был бы готов попробовать.

Большое спасибо!

Комментарии:

1. вы хотите анимировать отображение ячейки в GridView?

2. Я пытаюсь анимировать всю сетку сразу — сдвинуть всю сетку влево / вправо, так сказать, «перевернуть страницу». Если в сетке 8 ячеек, когда я нажимаю кнопку, я хочу, чтобы все 8 сдвинулись вправо, а следующий набор из 8 сдвинулся слева.

3. используете ли вы TabView со стилем PageTabViewStyle? пожалуйста, добавьте больше контекста / кода!

4. Нет, но я только что видел статью об этом — я обязательно попробую. Что касается кода, это просто новое приложение с кучей cell объектов, которые я пытаюсь просмотреть. Я могу попытаться создать тестовое приложение, если содержимое TabView не делает то, что мне нужно. Спасибо!

5. Это отлично работает, спасибо — вы должны сделать это реальным ответом, чтобы я мог его принять. Я смог упорядочить свои данные в массив из массива ячеек (для создания страниц из ячеек) и смог встроить a LazyVGrid в TabView — вы случайно не знаете, можно ли предотвратить изменение вкладок? Нравится tabView.disabled = true ?