【发布时间】:2021-07-24 09:49:09
【问题描述】:
在我的 MacOS SwiftUI 应用程序中,我想在新 Windows 中显示一些视图。应该可以从代码的几个部分进行调用,所以我决定,将其实现为像这样的特殊结构的静态函数。
工作正常 - 有什么要反对的吗?
struct Appwindows {
static func newWindow(forSpecialView view: SpecialView, title: String = "new Window")
{ let newWindow = newWindowInternal(title: title)!
newWindow.contentView = NSHostingView(rootView: view)
}
private static func newWindowInternal(title: String = "new Window") -> NSWindow!
{ var newWindow: NSWindow!
newWindow = NSWindow(
contentRect: NSRect(x: 20, y: 20, width: 680, height: 600),
styleMask: [.titled, .closable, .miniaturizable, .resizable, .fullSizeContentView],
backing: .buffered,
defer: false)
newWindow.center()
newWindow.isReleasedWhenClosed = false
newWindow.title = title
newWindow.makeKeyAndOrderFront(nil)
return newWindow
}
}
有没有办法让它更通用,以便可以将任何类型的视图传递给 func?
【问题讨论】:
标签: swift macos swiftui appkit