Ran*_*tep 5 user-interface swift swiftui
正如标题所建议的,我应该如何在 macOS 上禁用 SwiftUI 2 的全屏按钮?
我能找到的唯一信息似乎使用了NSWindow. SwiftUI 2 中有没有一种原生方法可以做到这一点?
你可以简单地使用.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())
}
Run Code Online (Sandbox Code Playgroud)
小智 1
从macOS 13.0开始,您可以定义sizeContentView 并将其设置windowResizability为contentSize.
var body: some Scene {
WindowGroup {
ContentView().frame(width: 300, height: 400)
}.windowResizability(.contentSize)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1869 次 |
| 最近记录: |