当SwiftUI中的窗口变为全屏时,如何获得通知?

问题描述 投票:-1回答:2

我想在我的游戏中添加全屏模式设置。但是,如果用户手动切换全屏模式,我需要自动更新设置。

无论如何以全屏方式切换后,我如何运行代码?换句话说,当用户单击窗口顶部的绿色按钮使其全屏显示时,如何接收通知?

没有这些信息,我无法弄清楚如何将应用程序的全屏模式设置与操作系统提供的UI进行同步。

swift macos swiftui fullscreen
2个回答
2
投票

您只需要等待NSWindow的通知,就可以>

import SwiftUI
import Combine

struct SampleView: View {
    var cancellabel : AnyCancellable?
        init(){
            cancellabel = NotificationCenter.default.publisher(for: NSWindow.willEnterFullScreenNotification).sink { (notification) in
        print(notification.object)
    }

    var body: some View {

    }
}

0
投票

使用其他答案中的代码,我能够构造代码来做到这一点:

© www.soinside.com 2019 - 2024. All rights reserved.