我目前正在学习Swift,我跟着this tutorial创建了一个NSWindow
,它继承了Swift中AppKit的vibrantDark
属性。我添加到WindowController.swift文件的代码如下:
window?.titleVisibility = .hidden
window?.appearance = NSAppearance(named: NSAppearance.Name.vibrantDark)
我想要做的是在我的程序中为NSPopover
获得相同的结果;但是,当我将以下内容添加到我的LogViewController.swift文件中时,我收到一个错误 - 第一个是"类型的值' NSView'没有会员' titleVisibility,'"第二个是"不能在类型' NSView的非可选值上使用可选链接。'"
view?.titleVisibility = .hidden
view?.appearance = NSAppearance(named: NSAppearance.Name.vibrantDark)
NSWindow
有几个posts已解决此问题,但我无法找到解决NSPopover
的答案。我现在将以下条件设置为在状态栏中点击NSPopover
时打开NSImage
:
popover.contentViewController = LogViewController.freshController()
我认为将NSPopover
作为NSView
是导致问题的原因,但是 - 因为我还是Swift的新手 - 我&# 39;我不知道如何诊断这个问题。也就是说,如果有人能指出我正确的方向,我将非常感激。
答案 0 :(得分:1)
您应该使用NSPopover
,而不是NSView
:
var myPopover: NSPopover?
myPopover = NSPopover.init()
myPopover?.appearance = NSAppearance(named: .vibrantDark)
如果您想使用contentViewController
:
var popoverViewController: NSViewController?
myPopover?.contentViewController = self.popoverViewController