使NSView外观充满活力

时间:2017-12-21 22:15:32

标签: swift macos cocoa nsview nswindow

我目前正在学习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;我不知道如何诊断这个问题。也就是说,如果有人能指出我正确的方向,我将非常感激。

1 个答案:

答案 0 :(得分:1)

您应该使用NSPopover,而不是NSView

var myPopover: NSPopover?

myPopover = NSPopover.init()
myPopover?.appearance = NSAppearance(named: .vibrantDark)

如果您想使用contentViewController

var popoverViewController: NSViewController?

myPopover?.contentViewController = self.popoverViewController