使NSView外观充满活力

问题描述 投票:2回答:1

我正在学习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)

几个posts已经为NSWindow解决了这个问题,但我找不到解决NSPopover的答案。我现在有以下条件设置为在状态栏中单击NSPopover时打开NSImage

popover.contentViewController = LogViewController.freshController()

我认为将NSPopover作为NSView是导致问题的原因,但是 - 因为我还是Swift的新手 - 我不知道如何诊断这个问题。也就是说,如果有人能指出我正确的方向,我将非常感激。

swift macos cocoa nsview nswindow
1个回答
1
投票

你应该使用NSPopover,而不是NSView

var myPopover: NSPopover?

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

如果你想使用contentViewController

var popoverViewController: NSViewController?

myPopover?.contentViewController = self.popoverViewController
© www.soinside.com 2019 - 2024. All rights reserved.