gpt4 book ai didi

ios - 使用 SwiftUI 时,接收有关 Split View 上应用程序之间焦点更改的通知

转载 作者:行者123 更新时间:2023-12-05 06:58:37 27 4
gpt4 key购买 nike

要在 iPaOS Split View 中显示的应用程序或场景的焦点更改 View 中接收通知,我应该注意什么?

当用户将焦点放回应用程序时,我正在尝试为 View 更新一些数据,如 here 所述。

谢谢。

最佳答案

这是一个解决方案,每当收到 UIPasteboard.changedNotificationscenePhase 更改时,就会更新 pasteDisabled:

struct ContentView: View {
@Environment(\.scenePhase) private var scenePhase
@State private var pasteDisabled = false

var body: some View {
Text("Some Text")
.contextMenu {
Button(action: {}) {
Text("Paste")
Image(systemName: "doc.on.clipboard")
}
.disabled(pasteDisabled)
}
.onReceive(NotificationCenter.default.publisher(for: UIPasteboard.changedNotification)) { _ in
updatePasteDisabled()
}
.onChange(of: scenePhase) { _ in
updatePasteDisabled()
}
}

func updatePasteDisabled() {
pasteDisabled = !UIPasteboard.general.contains(pasteboardTypes: [aPAsteBoardType])
}
}

关于ios - 使用 SwiftUI 时,接收有关 Split View 上应用程序之间焦点更改的通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64568932/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com