У меня установлен флажок NSButton со следующим кодом на Catalina (Мохаве в порядке):
let checkbox = NSButton(frame: NSRect(x: 0, y: 0, width: 200, height: 32))
checkbox.setButtonType(.switch)
checkbox.title = "Sustain"
checkbox.state = .off
self.view.addSubview(checkbox)
Выглядит нормально, когда я загружаю приложение
Но как только я проверю это, отметка о том, чего я ожидаю, там не будет
Если я загружаю отладчик визуальной иерархии, я вижу это нормально, я пытался поместить этот код прямо в новое приложение, и оно работает, но в моем приложении он скрыт, почти как-то переопределяет его ... любойпомощь приветствуется
Это также происходит на NSPopUpButtons .... без границ: -s
Обновление: 14 октября 2019 года
Как указано в комментарияхПохоже, это ошибка Xcode 11. Xcode 10.3 правильно отображает кнопку на Catalina.
Обновление: 10 октября 2019 года
Странно, создание подкласса и настройка CIFilterпоказывает элемент флажка, вам нужно сделать это только с одним NSButton, а затем все остальные работают внезапно: -s
import AppKit
class Checkbox : NSButton {
init() {
super.init(frame: .zero)
addFilter()
}
required init?(coder: NSCoder) {
super.init(coder: coder)
addFilter()
}
// add random cifilter
func addFilter() {
let colorFilter = CIFilter(name: "CIFalseColor")!
colorFilter.setDefaults()
colorFilter.setValue(CIColor(cgColor: NSColor.black.cgColor), forKey: "inputColor0")
colorFilter.setValue(CIColor(cgColor: NSColor.white.cgColor), forKey: "inputColor1")
self.contentFilters = [colorFilter]
}
}
То же самое для выпадающего списка работает, но оно невидимо до тех пор, пока вы не нажмете на него ... начинающее ощущаться как ошибка Каталины