使 NSView 外观 vibrantDark
Making NSView appearance vibrantDark
我目前正在学习 Swift,我跟着 this tutorial 创建了一个 NSWindow
,它继承了 vibrantDark
属性 中的 AppKit Swift。我在WindowController.swift文件中添加的代码如下:
window?.titleVisibility = .hidden
window?.appearance = NSAppearance(named: NSAppearance.Name.vibrantDark)
我想做的是在我的程序中为 NSPopover
实现相同的结果;然而,当我将以下内容添加到我的 LogViewController.swift 文件时,我收到一个错误——第一个错误是 "Value of type 'NSView' has no member 'titleVisibility,'",第二个错误是 "Cannot use optional chaining on non-optional value of type 'NSView.'"
view?.titleVisibility = .hidden
view?.appearance = NSAppearance(named: NSAppearance.Name.vibrantDark)
几个 posts 已经为 NSWindow
解决了这个问题,但我找不到解决 NSPopover
的答案。我目前将以下条件设置为在单击状态栏中的 NSImage
时打开 NSPopover
:
popover.contentViewController = LogViewController.freshController()
我认为 NSPopover
作为 NSView
是导致问题的原因,但是 - 因为我对 Swift 还是新手 - 我不是确定如何诊断这个问题。也就是说,如果有人能指出我正确的方向,我将不胜感激。
您应该使用 NSPopover
,而不是 NSView
:
var myPopover: NSPopover?
myPopover = NSPopover.init()
myPopover?.appearance = NSAppearance(named: .vibrantDark)
如果你想使用 contentViewController
:
var popoverViewController: NSViewController?
myPopover?.contentViewController = self.popoverViewController
我目前正在学习 Swift,我跟着 this tutorial 创建了一个 NSWindow
,它继承了 vibrantDark
属性 中的 AppKit Swift。我在WindowController.swift文件中添加的代码如下:
window?.titleVisibility = .hidden
window?.appearance = NSAppearance(named: NSAppearance.Name.vibrantDark)
我想做的是在我的程序中为 NSPopover
实现相同的结果;然而,当我将以下内容添加到我的 LogViewController.swift 文件时,我收到一个错误——第一个错误是 "Value of type 'NSView' has no member 'titleVisibility,'",第二个错误是 "Cannot use optional chaining on non-optional value of type 'NSView.'"
view?.titleVisibility = .hidden
view?.appearance = NSAppearance(named: NSAppearance.Name.vibrantDark)
几个 posts 已经为 NSWindow
解决了这个问题,但我找不到解决 NSPopover
的答案。我目前将以下条件设置为在单击状态栏中的 NSImage
时打开 NSPopover
:
popover.contentViewController = LogViewController.freshController()
我认为 NSPopover
作为 NSView
是导致问题的原因,但是 - 因为我对 Swift 还是新手 - 我不是确定如何诊断这个问题。也就是说,如果有人能指出我正确的方向,我将不胜感激。
您应该使用 NSPopover
,而不是 NSView
:
var myPopover: NSPopover?
myPopover = NSPopover.init()
myPopover?.appearance = NSAppearance(named: .vibrantDark)
如果你想使用 contentViewController
:
var popoverViewController: NSViewController?
myPopover?.contentViewController = self.popoverViewController