我有这个可爱的小程序(默认的Xcode Mac应用程序,它作为ViewController.swift):
import Cocoa
class ViewController: NSViewController {
@IBOutlet var button: NSButton!
@IBAction func clicked(_ sender: Any) {
if button.contentFilters.isEmpty {
button.contentFilters = [CIFilter(name: "CIGaussianBlur",
parameters: ["inputRadius": 1])!]
} else {
button.contentFilters = []
}
}
}
Main.storyboard仅具有一个按钮,并且在此处已连接到IBOutlet和IBAction。单击它时,它会变得模糊。
但是,在Mojave的暗模式下,切换此选项也会更改窗口的整个样式。它变得更暗,透明度更低。
为什么?有办法阻止这种情况吗?我想继续使用contentFilters,但是我不想更改一个小视图来更改整个窗口的外观。
似乎在窗口中任何位置的任何NSView上设置任何非空contentFilters
都会更改整个窗口。我真的不知道该尝试什么,或者为什么会发生这种情况。我什至不知道用什么词来描述窗户上发生的事情!
在黑暗模式下的窗口中的普通按钮:https://imgur.com/HB5cMVw-注意它是黄色的,因为它位于黄色的桌面背景上。
在黑暗模式下窗口中的按钮模糊:https://imgur.com/dXUbvBn-请注意它更暗,并且颜色不同,因为它不会与背景模糊。
有什么办法可以阻止这种情况的发生?还是至少永久性地将其打开,这样更改contentFilters不会使所有内容混乱?