如何通过切换 Swiftui 传递函数
Posted
技术标签:
【中文标题】如何通过切换 Swiftui 传递函数【英文标题】:How Can I Pass Function Through A Toggle Swiftui 【发布时间】:2022-01-06 20:21:42 【问题描述】:状态变量:
@State var toggleIsOn = false
切换:
Toggle(isOn: $toggleIsOn, label: Text("Notifications"))
我想要以下按钮,代表开关的每个状态,打开和关闭:
// Will request to send notifications, if success; will schedule them.
Button("request")
NotificationManager.instance.requestAuthorization()
// Will clear the queue of notifications, and delete any delivered.
Button("cancel")
NotificationManager.instance.cancelNotifications()
我在这个视频中找到了函数:https://www.youtube.com/watch?v=mG9BVAs8AIo
【问题讨论】:
【参考方案1】:使用
onChange(of:)
例如:
struct ContentView: View
@State var toggleIsOn: Bool = false
var body: some View
Toggle(isOn: $toggleIsOn, label: Text("Notifications"))
.onChange(of: toggleIsOn) isOn in
if isOn
NotificationManager.instance.requestAuthorization()
else
NotificationManager.instance.cancelNotifications()
【讨论】:
以上是关于如何通过切换 Swiftui 传递函数的主要内容,如果未能解决你的问题,请参考以下文章