我正在创建一个带有包含单个复选框的附件视图的保存面板。当我使用以下方法创建按钮时,我可以让它工作:
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()
}
以下是我在 Sierra 中创建附件视图的方法
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
}