SwiftUI中管理alert的简便方法(含源码)
2023-09-11 14:18:48 时间
SwiftUI中管理alert的简便方法
本文完整代码:SwiftUI中管理alert的简便方法(含源码)_知识大胖的博客-CSDN博客
本文价值与收获
看完本文后,您将能够作出下面的界面
Jietu20200608-124536@2x.jpg
Jietu20200608-124558.gif
基础
要在SwiftUI中显示警报,请使用alert修饰符。我们可以通过isPresented实现控制alert显示和退出的功能。
struct MyView: View {
@State private var isAlertActive = false
private let alert = Alert(title: Text("Hello, world!"))
var body: some View {
Button("Show sheet", action: showSheet)
.alert(isPresented: $isAlertActive, content: { alert })
}
}
}
很容易,对吧?嗯,这个基本示例是,但是我认为一旦要从同一屏幕上呈现多个警报或在整个应用中重复使用警报,就很难进行管理。
一个问题是,您到处都在重复isAlertActive逻辑。每当您从多个视图中呈现同一警报时,还必须复制警报生成逻辑。下面我们就来看看如何解决这个问题
AlertContext来解决这个问题
我们可以通过AlertContext类中来重用这些特定于警报的逻辑:
相关文章
- [转] createObjectURL方法 实现本地图片预览
- c#代码 天气接口 一分钟搞懂你的博客为什么没人看 看完python这段爬虫代码,java流泪了c#沉默了 图片二进制转换与存入数据库相关 C#7.0--引用返回值和引用局部变量 JS直接调用C#后台方法(ajax调用) Linq To Json SqlServer 递归查询
- 【C#】overide可重写从更高父级继承来的virtual方法
- ArrayList相关方法介绍及源码分析
- js中判断数组中是否包含某元素的方法
- js 绑定事件的几种方法 addEventListener()
- python学习之字符串去重的几种方法
- AQS源码探究_06 Conditon条件队列(await方法、线程入队与挂起、signal方法)
- initWithFrame方法的理解
- 创造相对时间的方法
- 『 迷你教程 』数据异常检测你没有听过的隔离森林和核密度方法
- SwiftUI ScrollView和LazyVStack正确使用方法 (教程含源码)
- SwiftUI macOS教程之 左中右三栏实现方法(教程含源码)
- cmd启动数据库时,出现 (无法启动此程序,因为计算机中丢失VCRUNTIME140_1.dll 尝试重新安装此程序以解决此问题 )解决方法。
- Fragment 源码解析add()和replace()方法
- [Oracle]PDB Clone 方法
- 关于Cocos2d-x程序运行时候提示关闭程序的框框的解决方法
- C# 7.0 新特性:本地方法
- [LeetCode] Decode Ways II 解码方法之二
- eclipse 使用jetty调试时,加依赖工程的源码调试方法
- 原生js源码之Array数组map方法
- QT 异步函数转为同步函数的方法
- 定时启动和关闭指定程序的方法