NSSavePanel accessoryView: почему не отображается моя кнопка?
Я создаю панель сохранения с accessoryView, который содержит один флажок. Я могу заставить его работать, когда я создаю кнопку, используя:
NSButton(checkboxWithTitle: "Check Me", target: self, action: #selector(checkBoxSelected))
Но это дает мне предупреждение, что этот конкретный инициализатор NSButton требует macOS 10.12, и мне нужно поддерживать 10.10.
Вот моя настройка savePanel:
@IBAction func save(_ sender: NSButton) {
let savePanel = NSSavePanel()
savePanel.accessoryView = accessoryView()
savePanel.runModal()
}
И вот как я создаю свой внешний вид в Сьерре
func accessoryView() -> NSView {
let checkbox = NSButton(checkboxWithTitle: "Check Me", target: self, action: #selector(checkBoxSelected))
let view = NSView(frame: NSRect(x: 0, y: 0, width: 400, height: 100))
view.addSubview(checkbox)
return view
}
Но это не работает (кнопка не появляется)
func accessoryView() -> NSView {
let checkbox = NSButton()
checkbox.setButtonType(NSSwitchButton)
checkbox.title = "Check Me"
checkbox.state = 1
checkbox.target = self
checkbox.action = #selector(checkBoxSelected)
let view = NSView(frame: NSRect(x: 0, y: 0, width: 400, height: 100))
view.addSubview(checkbox)
return view
}