我正在使用 SwiftUI 2.0,实际上,我很高兴 Apple 引入了 PageTabViewStyle 来简单地创建一个寻呼机。但不幸的是,我无法以我想要的方式实现它。是否可以创建一个显示前一个和下一个项目的一小部分的寻呼机(PageTabViewStyle)?
图 1:期望的行为
我尝试使用新的 PageTabViewStyle 和一些填充和/或偏移量的组合,我还尝试与 UIKit(PageView/PageViewController/PageViewControl)交互。但是这里的行为相同,我只看到所选项目,即使它没有覆盖整个宽度。
图 2:当前行为
SwiftUI 2.0 - PageTabViewStyle 集成
截取的以下代码是 PageTabViewStyle 的一个非常简单的实现,但是如果您有想法,可以在此示例中向我展示我可以做些什么来使其工作:
import SwiftUI
struct ContentView: View {
let colors: [Color] = [.red, .green, .yellow, .blue]
var body: some View {
TabView {
ForEach(0..<6) { index in
HStack() {
Text("Tab \(index)")
.font(.title)
.frame(maxWidth: .infinity, maxHeight: .infinity)
.background(colors[index % colors.count])
.cornerRadius(8)
}
.frame(width: 300, height: 200)
}
}.tabViewStyle(PageTabViewStyle())
}
}
Run Code Online (Sandbox Code Playgroud)
UIKit 接口
以下代码来自 Apple 的示例,也许您可以在这里向我展示如何获得所需的行为:
页面视图控制器
/*
See LICENSE folder …Run Code Online (Sandbox Code Playgroud)