功能需求
在SwiftUI中,我们往往需要只通过代码控制 sheet 弹出视图的关闭(dismiss),而禁止用户手动下滑关闭弹出的视图。
如上图所示,在 iOS 16 中 App 弹出的 sheet 视图只允许点击按钮关闭(dismiss),而用户无法通过下滑来关闭它。
我们之前在 SwiftUI禁止用户关闭sheet弹出视图在iOS14.6+失效的巧妙解决 那篇博文中曾经讨论过一种解决方案,不过可惜它在 iOS 16 (SwiftUI 4.0)中已不再有效。
下面,我们将介绍一种在所有 SwiftUI 版本中均有效的方法。
其实新解决方案远比你想象的要简单!
那还等