В контроллере вида на игровую площадку Swift у меня есть следующий код:
var jsonSelector = NSPopUpButton(title: "Path", target: self, action: #selector(updatePointFile))
override public func loadView() {
let frame = CGRect(origin: CGPoint.zero, size: CGSize(width: 900, height: 600))
let view = NSView(frame: frame)
let array = // gets array of items
for item in array {
jsonSelector.addItem(withTitle: item)
}
view.addSubview(jsonSelector)
self.view = view
}
@objc func updatePointFile() {
let file = jsonSelector.selectedItem?.title ?? "swiftLogo"
...
}
Когда он работает, он изначально выглядит нормально:

Но затем, когда на него нажимаютэто выглядит так:

А когда вы щелкаете по нему, он остается не щелкаемым:

Когда я копирую тот же самый код в полное приложение Mac,работает как обычно, и чтобы сделать вещи еще более странными, однажды, когда я делал эти скриншоты, он работал один раз для выделения и возвращался в серое состояние.
Любая помощь будет принята с благодарностью.