iOS 16 中 SwiftUI 防止弹出的 sheet 视图被下滑关闭(dismiss)的新解决方案

Posted 大熊猫侯佩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 16 中 SwiftUI 防止弹出的 sheet 视图被下滑关闭(dismiss)的新解决方案相关的知识,希望对你有一定的参考价值。



功能需求

在SwiftUI中,我们往往需要只通过代码控制 sheet 弹出视图的关闭(dismiss),而禁止用户手动下滑关闭弹出的视图。

如上图所示,在 ios 16 中 App 弹出的 sheet 视图只允许点击按钮关闭(dismiss),而用户无法通过下滑来关闭它。

我们之前在 SwiftUI禁止用户关闭sheet弹出视图在iOS14.6+失效的巧妙解决 那篇博文中曾经讨论过一种解决方案,不过可惜它在 iOS 16 (SwiftUI 4.0)中已不再有效。

下面,我们将介绍一种在所有 SwiftUI 版本中均有效的方法。

其实新解决方案远比你想象的要简单!

那还等什么呢? Let’s fix it!

以上是关于iOS 16 中 SwiftUI 防止弹出的 sheet 视图被下滑关闭(dismiss)的新解决方案的主要内容,如果未能解决你的问题,请参考以下文章

iOS 16 中 SwiftUI 防止弹出的 sheet 视图被下滑关闭(dismiss)的新解决方案

iOS 16 修改第三方库实现监听 SwiftUI 中 sheet 弹出视图的下滑关闭动作

iOS 16 修改第三方库实现监听 SwiftUI 中 sheet 弹出视图的下滑关闭动作

iOS 16 修改第三方库实现监听 SwiftUI 中 sheet 弹出视图的下滑关闭动作

iOS 16.2 在 SwiftUI 子视图中无法关闭弹出的(sheet)导航视图(NavigationView)之解决

SwiftUI导航至子视图后状态改变导致导航栈提前弹出的原因及解决