我正在创建一个带有包含单个复选框的附件视图的保存面板。当我使用以下方法创建按钮时,我可以让它工作:
NSButton(checkboxWithTitle: "Check Me", target: self, action: #selector(checkBoxSelected))
但这给了我一个警告,这个特定的NSButton初始值设定项需要macOS 10.12,我需要支持10.10。
这是我的保存面板设置:
@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
}
知道了。
需要使用 NSButton.init(frame:)
谢谢