我有一个使用swiftUI 2.0 PageTabViewStyle的TabView。有什么方法可以禁止滑动来更改页面吗?
我在第一个选项卡视图中有一个搜索栏,但是如果用户正在键入,我不想让其处于打开状态,我基本上希望将其锁定在该屏幕上,直到上述功能为止完成。
这是显示差异的gif文件,我希望在gif全屏显示时禁用制表符更改。 https://imgur.com/GrqcGCI
答案 0 :(得分:1)
尝试以下类似方法(已通过一些存根代码进行了测试)。这个想法是在某些情况下(如果您是开始编辑的话)阻止标签页视图的拖动手势
@State var isSearching = false
// ... other code
TabView {
// ... your code here
Your_View()
.gesture(isSearching ? DragGesture() : nil) // blocks TabView gesture !!
}
.tabViewStyle(PageTabViewStyle(indexDisplayMode: .always))
答案 1 :(得分:0)
对于任何试图解决这个问题的人,我设法通过将 TabView 状态设置为禁用来做到这一点。
TabView(selection: $currentIndex.animation()) {
Items()
}.disabled(true)