我正在使用包含单个复选框的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()
}
以下是我在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
}
答案 0 :(得分:0)
知道了。
需要使用NSButton.init(frame:)
由于