Как правильно получить задание в NSPrintPanel?
Я хочу узнать, какую кнопку я нажал в NSPrintPanel. я нахожуNSPrintInfo.shared.jobDisposition
показывает операцию.
extension NSPrintInfo.JobDisposition {
public static let spool: NSPrintInfo.JobDisposition
public static let preview: NSPrintInfo.JobDisposition
public static let save: NSPrintInfo.JobDisposition
public static let cancel: NSPrintInfo.JobDisposition
}
Итак, я делаю это:
let printOperation = NSPrintOperation(view: view, printInfo: printInfo)
printOperation.showsPrintPanel = true
printOpeartion.run()
В отображаемой NSPrintPanel все кнопки работают нормально, но независимо от того, какую кнопку я нажимаю, значение NSPrintInfo.shared.jobDisposition всегда равно ·.spool
.
Если я использую пользовательскую NSPrintPanel, все кнопки недействительны, но значение NSPrintInfo.shared.jobDisposition является нормальным (например, при нажатии кнопки предварительного просмотра значение равно.preview
).
let printPanel = NSPrintPanel()
let result = printPanel.runModal(with: printInfo)
Итак, как заставить пользовательскую NSPrintPanel вести себя правильно? Как правильно получить задание в NSPrintPanel? Спасибо!