小编Seb*_*Fox的帖子

在 PageTabViewStyle (SwiftUI 2.0) 或 PageViewController/PageView (with UIKit interface) 上显示部分上一个和下一个项目

我正在使用 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)

uikit ios uipageviewcontroller swift swiftui

8
推荐指数
1
解决办法
729
查看次数

标签 统计

ios ×1

swift ×1

swiftui ×1

uikit ×1

uipageviewcontroller ×1