【问题标题】:Set SwiftUI PageTabViewStyle vertical flow direction in TabView在 TabView 中设置 SwiftUI PageTabViewStyle 垂直流向
【发布时间】:2020-06-23 11:31:00
【问题描述】:

现在可以使用修饰符创建水平滚动页面控制器:

.tabViewStyle(PageTabViewStyle())

默认情况下,页面是水平显示的。怎么修改成和UIPageViewController一样的垂直滚动方式?

【问题讨论】:

  • 在询问“如何”之前,您会检查“是否”它是否存在。我在 Xcode 12 SwiftUI 中没有看到类似的东西。

标签: swift swiftui wwdc


【解决方案1】:

这是你需要的吗

.tabViewStyle(PageTabViewStyle())
.rotationEffect(.degrees(90))

【讨论】:

    【解决方案2】:

    受 Ernist 回答的启发,我找到了一种有效的方法。

    GeometryReader { proxy in
        TabView(selection: selection) {
            everyView
                .frame(width: proxy.size.width, height: proxy.size.height)
                .rotationEffect(.degrees(-90))
                .rotation3DEffect(flippingAngle, axis: (x: 1, y: 0, z: 0))
        }
        .frame(width: proxy.size.height, height: proxy.size.width)
        .rotation3DEffect(flippingAngle, axis: (x: 1, y: 0, z: 0))
        .rotationEffect(.degrees(90), anchor: .topLeading)
        .offset(x: proxy.size.width)
    }.tabViewStyle(PageTabViewStyle())
    

    我还构建了一个swift package (VerticalTabView ?),它可以将所有代码包装在此:

    VTabView {
        everyView
    }.tabViewStyle(PageTabViewStyle())
    

    【讨论】:

      猜你喜欢
      • 2021-11-29
      • 2021-04-07
      • 1970-01-01
      • 2022-11-10
      • 2022-11-17
      • 2021-01-13
      • 1970-01-01
      • 2021-07-06
      • 1970-01-01
      相关资源
      最近更新 更多