Почему использование contentFilters меняет внешний вид всего окна, и я могу остановить его?
У меня есть эта симпатичная маленькая программа (приложение 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. Когда вы нажимаете на нее, она становится размытой.
В темном режиме Мохаве, однако, переключение это также меняет весь стиль окна. Становится еще темнее и менее прозрачным.
Зачем? Есть ли способ остановить это? Я хочу продолжать использовать contentFilters, но я не хочу менять одно маленькое представление, чтобы изменить внешний вид всего окна.
Кажется, что установка какая-то непустая contentFilters
на любом NSView в любом месте окна, изменяет все окно. Я действительно понятия не имею, что попробовать или почему это может произойти. Я даже не уверен, какие слова использовать, чтобы описать, что происходит с окном!
Обычная кнопка в окне в темном режиме: https://imgur.com/HB5cMVw - обратите внимание, что она слегка желтая, так как находится на желтом фоне рабочего стола.
Размытая кнопка в окне в темном режиме: https://imgur.com/dXUbvBn - обратите внимание, что он темнее и другого цвета, потому что он не размыт с фоном.
Есть ли способ остановить это? Или, по крайней мере, включить его постоянно, чтобы изменение contentFilters не испортило все?