Элемент представления вкладок коснитесь, чтобы перейти к верхней части его представления навигации

#swift #swiftui

Вопрос:

У меня есть главное представление, содержащее представление вкладок. Я хочу прокрутить страницу вверх, когда я нажимаю на элемент представления вкладок. Я нашел эту ссылку(ссылку), и теперь я могу перейти к началу первого элемента в списке.

Но во многих приложениях, таких как App Store, при нажатии на элемент нижней вкладки он прокручивается до верхней части представления навигации, а не до первого элемента.

прокрутка_топ

На изображении gif, когда я хочу прокрутить до верхней части NavagationView, мне нужно прокрутить вручную. Или коснитесь строки состояния.

Я попытался добавить идентификатор в навигационное представление,

 ScrollViewReader { proxy in
    NavigationView {
        BrowseList(data: $viewModel.items,
                   isLoading: $viewModel.isLoading,
                   loadMore: viewModel.loadMore) { item in
            BrowseListViewItem(...)
        }
        .navigationBarTitle(Text("Browse"))
        .onChange(of: moveToTopIndicator, perform: { _ in
            withAnimation {
                proxy.scrollTo("top")
            }
        })
    }
    .id("top")
}
 

или элемент TabView,

 TabView(selection: $tabStateHandler.tabSelected) {
    BrowseListView(viewModel: BrowseListViewModel(),
                   moveToTopIndicator: $tabStateHandler.moveBrowseTabToTop)
        .tabItem {
            Text("Browse")
            Image(systemName: "magnifyingglass.circle")
        }
        .tag(SelectedTab.browse)
        .id("top")
 

But none of it worked.

How can I make a scroll to top behaviour like when the tab status bar is pressed?