Макет представления коллекции магазина приложений в SwiftUI

#swiftui

Вопрос:

Я планирую добавить в свое приложение SwiftUI представление коллекции, которое вы можете увидеть в разделе «Обзор» Apple music или на вкладке «приложения» в магазине приложений. Я пробовал использовать вид прокрутки и стеки, но это не дает такого эффекта плавного перемещения. Я подумал, что для этого вы могли бы использовать макет NSCollectionView и доступный источник данных в UIKit, но я понятия не имею, как это сделать в SwiftUI. Есть какие-нибудь мысли?

Вот мой код.:

 struct DiscoverPopularUsersViewPhone: View {

// MARK: Variables and Constants
@State private var fetchedUserAccounts: [UserAccount] = [UserAccount]()

var geometry: GeometryProxy

@State private var userResultsLoadState: LoadState = .inactive


// MARK: Body
var body: some View {
    VStack(alignment: .leading, spacing: 12) {
        Divider()
            .padding(.horizontal, 18)
        
        HStack(spacing: 16) {
            Text("Popular Users")
                .font(Font.title3.weight(.bold))
                .foregroundColor(Color.primary)
            
            Spacer()
            
            NavigationLink(destination: Text("Popular Users")) {
                Text("View more")
                    .font(Font.callout.weight(.regular))
            }
        }
        .padding(.horizontal, 18)
        
        ScrollView(.horizontal, showsIndicators: false) {
            LazyHStack(spacing: 12) {
                ForEach(fetchedUserAccounts) { account in
                    DiscoverUserGridItem(userAccount: account, size: (geometry.size.width - 18 * 2 - 12) / 2)
                }
            }
            .padding(.horizontal, 18)
        }
    }
    .onAppear(perform: fetchPopularUsers)
}
 

}

Метод fetchPopularUsers просто извлекает некоторые пользовательские данные

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

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

Примечание: Я хотел бы, чтобы пользователь видел, что он может прокручивать, поэтому я думаю, что модификатор PageTabViewStyle() для TabView также не подходит

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

1. Можете ли вы включить то, что вы пробовали, и подробно описать, как отсутствует «эффект плавного движения»?

2. Спасибо за ваш быстрый ответ. Я обновил свой вопрос. Надеюсь, это немного прояснит ситуацию

3. Вы все еще не подробно остановились на «эффекте плавного движения». вы можете загрузить gif или что-то в этом роде?

4. Я имею в виду, что он всегда останавливается в центре, когда вы прокручиваете