在 TabView 中设置 SwiftUI PageTabViewStyle 垂直流向
Set SwiftUI PageTabViewStyle vertical flow direction in TabView
现在可以使用修饰符创建水平滚动页面控制器:
.tabViewStyle(PageTabViewStyle())
默认情况下,页面是水平显示的。如何修改为像 UIPageViewController
一样垂直滚动?
这是你需要的吗
.tabViewStyle(PageTabViewStyle())
.rotationEffect(.degrees(90))
受 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())
现在可以使用修饰符创建水平滚动页面控制器:
.tabViewStyle(PageTabViewStyle())
默认情况下,页面是水平显示的。如何修改为像 UIPageViewController
一样垂直滚动?
这是你需要的吗
.tabViewStyle(PageTabViewStyle())
.rotationEffect(.degrees(90))
受 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())