SwiftUI 无限的 TabView 项目

SwiftUI unlimited TabView item

我收到了 50 个关于 Firebase 的问题。我 return 在我作为自定义准备的 TabView 中使用 ForEach 的此数据。但是从第23题看不出其他问题。我无法前进到下一页。这是什么原因?我不能在 TabView 中无限制地 return 项吗?

动图:

TabView 分页视图:

struct PagingQuestionView: View {
    var tests: [Test] = []
    @State var imageUrl: String = ""
    var storage = Storage.storage().reference()
    @ObservedObject var pagingQuestionOptionConfigure: PagingQuestionOptionConfigure = PagingQuestionOptionConfigure()
    var body: some View {
        GeometryReader { proxy in
            TabView(selection: $pagingQuestionOptionConfigure.pageIndex) {
                ForEach(tests, id: \.self) { item in
                    VStack(spacing: 20) {
                        EmptyView()
                            .frame(width: 350, height: 250)
                            .padding()
                        VStack {
                            Text("\(item.id))")
                            Text("\(item.question)")
                                .padding()
                        }
                        PagingOptionView(options: item.sections)
                    }
                    .tag(item.id)

                }
                .rotationEffect(.degrees(-90))
                .frame(width: proxy.size.width, height: proxy.size.height)
            }
            .frame(width: proxy.size.height, height: proxy.size.width)
            .rotationEffect(.degrees(90), anchor: .topLeading)
            .offset(x: proxy.size.width)
            .modifier(TabViewModifier())
        }
    }
}

TabViewModifier:

struct TabViewModifier: ViewModifier {

    @ViewBuilder
    func body(content: Content) -> some View {
        if #available(iOS 14.0, *) {
            content
                .tabViewStyle(PageTabViewStyle(indexDisplayMode: .never))
                
        } else {
            content
        }
    }
}

我解决了我的问题。 我在 ForEach

中添加了这个
ForEach(tests.indices, id: \.self){ ... }