我创建了一个SwiftUI视图,其中包含一个带有样式页的TabView
,并且需要禁用返回上一页的功能。
最终的结果应该像TikTok或Instagram卷轴一样,但不可能回去看我以前看到的东西。
我尝试使用DragGesture()
,但它在TabView上不起作用。
也许我应该用滚动条来做,如果可能的话拉下来刷新,但是我不知道如何做这种类型的分页。
我的实际代码是:
struct PagesView: View {
var body: some View {
GeometryReader { proxy in
TabView{
ForEach(0..<10) { el in
ZStack{
Color(.purple)
VStack{
Text("Page \(el)")
}
}
}.rotationEffect(.init(degrees: -90))
.ignoresSafeArea(.all, edges: .top)
}.rotationEffect(.init(degrees: 90))
.frame(width: proxy.size.height)
.tabViewStyle(.page(indexDisplayMode: .never))
.frame(width: proxy.size.width)
}.ignoresSafeArea(.all, edges: .top)
}
}
1条答案
按热度按时间wydwbb8l1#
你不能用tabView来做这些,实际上很多SwiftUI组件仍在增长,你不能用它们来做你过去用UIKit中的一些视图做的事情,但是这里有一个解决方案来满足你的需要
创建新应用程序,然后使用此代码替换contentView并对其进行测试。但我强烈建议您使用UIKit collectionView和swiftUI代码来实现此分页功能,并使用UIScrollview委托来启用和禁用特定方向的滚动