Добавить анимацию по клику из LazyStackIOS

Программируем под IOS
Ответить
Anonymous
 Добавить анимацию по клику из LazyStack

Сообщение Anonymous »

Я использую LazyVStack для отображения списка элементов. LazyVStack работает хорошо, но я не могу найти хорошее решение, чтобы открыть подробное представление сверху, чтобы сделать сообщение полноэкранным.
LazyVStack определен как показано ниже:

Код: Выделить всё

struct FeedView: View {
var body: some View {
NavigationStack {
ScrollView {
LazyVStack(spacing: 8) {
ForEach(Post.MOCK_POSTS) { post in
FeedPostView(post: post)
}
}
.padding(.top, 10)
}
.navigationTitle("Feed")
.navigationBarTitleDisplayMode(.inline)
.toolbar {
ToolbarItem(placement: .topBarTrailing) {
Image(systemName: "message")
.imageScale(.large)
}
}
}
}
}
так что фид выглядит так:
[img]https://i .sstatic.net/AJQ7FUr8.png[/img]

и структура FeedPostView следующая:

Код: Выделить всё

struct FeedPostView: View {
let post: Post

var body: some View {
NavigationStack {
ZStack {
NavigationLink(destination: PostDetailsView(post: post)) {
Image(post.images[0])
.resizable()
.aspectRatio(contentMode: .fit)
.scaledToFill()
}
}
.frame(maxWidth: .infinity, maxHeight: 450)
.clipShape(RoundedRectangle(cornerRadius: 15.0))
.overlay(PostHeaderView(post: post), alignment: .top)
.overlay(PostCaptionView(post: post), alignment: .bottom)
.padding([.leading, .trailing])
.padding(.bottom, 15)
}
}
}
Я пытаюсь создать анимацию, когда пользователь нажимает на одно из сообщений. Этот пост становится полноэкранным, а не в lazyView, и вместо наложения, как в ленте, а переходит к экрану с подробными сведениями, где вы можете увидеть перемещение.
  • Заголовок медленно перемещается в верхнюю часть экрана.
  • Изображение перемещается под заголовок.
    Затем я добавлю новый раздел ниже.
Я прикрепил URL-адрес к видео того, что существует сейчас, но я хочу увидеть, например, переход заголовка от наложения к верхней части экрана. .
видео

Подробнее здесь: https://stackoverflow.com/questions/790 ... -lazystack
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»