您当前的位置: 首页 >  ui

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

发布时间:2022-10-01 11:43:29 ,浏览量:0

在这里插入图片描述

功能需求

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

在这里插入图片描述

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

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

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

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

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

功能分析 1. iOS 16 中原方案失效的原因

在之前的解决方案中,我们在 sheet 视图弹出时,将其对应的视图控制器绑定到我们的代理上:


	
关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    108476博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0484s