SwiftUI关闭presentationMode窗口,全屏弹窗怎么做
文章摘要
HeoGPT
这篇文章介绍了如何使用SwiftUI的presentationMode创建全屏弹窗,并提供了一个示例。同时,还讲解了如何通过代码关闭presentationMode弹窗。
此内容根据文章生成,并经过人工审核,仅用于文章内容的解释与总结
投诉presentationMode在iOS算是一个特色了,非常方便的全屏弹窗,可以下拉关闭窗口。弹出的动画非常流畅。这里来记录一下如何写一个presentationMode弹窗和关闭presentationMode的窗口。
样式
presentationMode弹窗非常常见,在iOS几乎无处不在。
示例
创建presentationMode
例如要打开EditingView()
,则需要有一个@State
的变量,用来监听弹窗时机。
1 | var showEditing = false |
关联变量并设定弹窗内容
在任意层Stack
后面添加.sheet
1 | .sheet(isPresented: $showEditing, content: { |
然后利用Button
或者是onTapGesture
改变变量(本文为showEditing
)的布尔值为true
,即可弹出窗口。
关闭弹窗
系统自带了一个向下滑动即可关闭的操作,但是我们有时候还是需要点击按钮或者触发函数时关闭窗口的需求。
在目标视图(本文为EditingView()
)添加一个Environment
变量。
1 | var presentation (\.presentationMode) |
这个变量可以对presentationMode有很多操作,比如我们点击一个按钮关闭掉这个弹窗。
1 | Button(action: { |
就只需要执行这一段就可以了
1 | self.presentation.wrappedValue.dismiss() |
大功告成!
现在你已经成功能写出弹窗并且关闭掉它了!~
- 感谢你赐予我前进的力量
打赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 张洪Heo
评论
生成评论
匿名评论
违规举报
✅ 你无需删除空行,直接评论以获取最佳展示效果