如何在macOS上使用SwiftUI 2禁用全屏按钮
正如标题所建议的,我应该如何在macOS上禁用Swiftui2的全屏按钮 我能找到的唯一信息似乎是使用了。在Swiftui2中有没有一种本地方法可以做到这一点?YourAppName.Swift如何在macOS上使用SwiftUI 2禁用全屏按钮,swift,user-interface,swiftui,Swift,User Interface,Swiftui,正如标题所建议的,我应该如何在macOS上禁用Swiftui2的全屏按钮 我能找到的唯一信息似乎是使用了。在Swiftui2中有没有一种本地方法可以做到这一点?YourAppName.Swift import SwiftUI @main struct YourAppName: App { var body: some Scene { WindowGroup { HStack { ContentView().onAp
import SwiftUI
@main
struct YourAppName: App {
var body: some Scene {
WindowGroup {
HStack {
ContentView().onAppear{
// Code Below To Disable FullScreen Mode
let _ = NSApplication.shared.windows.map {
$0.styleMask = [ .titled,.closable,.miniaturizable]
}
}
}
}
}
}
您只需使用
.onReceive
修饰符即可达到以下目的:
struct MacApp: App {
var body: some Scene {
WindowGroup {
ContentView()
.frame(width: 480, height: 272)
.fixedSize()
.onReceive(NotificationCenter.default.publisher(for: NSApplication.willUpdateNotification), perform: { _ in
for window in NSApplication.shared.windows {
window.standardWindowButton(.zoomButton)?.isEnabled = false
}
})
}
.windowStyle(HiddenTitleBarWindowStyle())
}
效果如下,第三个绿色按钮变为透明灰色:
查看我的github项目bro