我可以通过SceneDelegate.swift
在Mac Catalyst中创建一个统一的工具栏:
// Use a UIHostingController as window root view controller.
if let windowScene = scene as? UIWindowScene {
let window = UIWindow(windowScene: windowScene)
window.rootViewController = UIHostingController(rootView: contentView)
// hide the titlebar
windowScene.titlebar?.toolbar = NSToolbar()
windowScene.titlebar?.titleVisibility = .hidden
...
}
但是我想使工具栏透明,如本例所示:https://lukakerr.github.io/swift/nswindow-styles#11-transparent-toolbar-without-seperator
在Mac Catalyst中甚至可能吗?
是的,这在Mac Catalyst中是可能的。在您的SceneDelegate.swift文件中,将工具栏和标题可见性分别设置为false
和.hidden
。
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = (scene as? UIWindowScene) else { return }
windowScene.titlebar?.toolbar?.isVisible = false
windowScene.titlebar?.titleVisibility = .hidden
}