如何使用 TabView 或 ScrollView 进行轮播?

问题描述

我正在尝试创建一个类似于 Apple 的某些应用程序的轮播。 TabView 具有分页样式,但它不会“窥视”上一个和下一个元素。 ScrollView(.horizontal) 不会卡住。我希望在不重写客户视图的情况下混合两种行为。使用这些视图中的任何一个都可能发生这样的事情:

enter image description here

这就是我正在尝试的:

ScrollView(.horizontal,showsIndicators: false) {
    HStack(alignment: .center,spacing: 0) {
        GroupBox(label: Text("This is the title 1")) {
            Label("Some item 1",systemImage: "checkmark.circle.fill")
            Label("Some item 2",systemImage: "checkmark.circle.fill")
            Label("Some item 3",systemImage: "checkmark.circle.fill")
            Label("Some item 4",systemImage: "checkmark.circle.fill")
        }
        .padding()
        GroupBox(label: Text("This is the title 2")) {
            Label("Some item 1",systemImage: "checkmark.circle.fill")
        }
        .padding()
        GroupBox(label: Text("This is the title 3")) {
            Label("Some item 1",systemImage: "checkmark.circle.fill")
        }
        .padding()
    }
}

enter image description here

TabView {
    GroupBox(label: Text("This is the title 1")) {
        Label("Some item 1",systemImage: "checkmark.circle.fill")
        Label("Some item 2",systemImage: "checkmark.circle.fill")
        Label("Some item 3",systemImage: "checkmark.circle.fill")
        Label("Some item 4",systemImage: "checkmark.circle.fill")
    }
    .padding()
    GroupBox(label: Text("This is the title 2")) {
        Label("Some item 1",systemImage: "checkmark.circle.fill")
    }
    .padding()
    GroupBox(label: Text("This is the title 3")) {
        Label("Some item 1",systemImage: "checkmark.circle.fill")
    }
    .padding()
}
.tabViewStyle(PageTabViewStyle())

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...