NSSavePanel accessoryView:为什么我的按钮不显示?
问题描述:
我正在用一个包含单个复选框的accessoryView创建一个保存面板。我可以得到它的工作,当我创建使用按钮:NSSavePanel 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
}
答
明白了。
需要使用NSButton.init(帧:)
感谢