xcode - SwiftUI 2.0 TabView 禁用滑动以更改页面

标签 xcode swiftui tabview

我有一个使用 swiftUI 2.0 PageTabViewStyle 的 TabView。有什么方法可以禁用滑动以更改页面?
我的第一个选项卡 View 中有一个搜索栏,但是如果用户正在键入,我不想提供更改它们的功能,我基本上希望它被锁定在该屏幕上,直到所述功能完成。
这是一个显示差异的 gif,我希望在 gif 全屏时禁用选项卡更改。
https://imgur.com/GrqcGCI

最佳答案

尝试类似以下内容(使用一些 stub 代码进行测试)。这个想法是在某些条件(在你的情况下开始编辑)发生时阻止选项卡 View 拖动手势

@State var isSearching = false

// ... other code

TabView {
    // ... your code here

    Your_View()
       .gesture(isSearching ? DragGesture() : nil)  // blocks TabView gesture !!
}
.tabViewStyle(PageTabViewStyle(indexDisplayMode: .always))

关于xcode - SwiftUI 2.0 TabView 禁用滑动以更改页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63168014/

相关文章:

ios - Xcode 13.2.1 : Multiple commands produce problem

ios - 添加项目并将其保存到收藏夹

c++ - 如何在 xcode 中启用 _LIBCPP_DEBUG_LEVEL>=2

swiftui - 在 SwiftUI 中,如何让 View 占用尽可能多的空间?

flutter - 没有 Scaffold 和固定 Widget 的 TabBar 和 TabView

flutter - 如何在 SliverAppBar 中仅显示选项卡 View

iphone - 如果用户未更新应用程序如何显示警报

scrollview - UIPageViewController 中的 SwiftUI rollViewDidScroll 无法正常工作

swiftui - 自定义 SwiftUI 颜色的深色模式

java - Android在底部导航栏中禁用缩放效果