Как правильно получить задание в 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? Спасибо!

0 ответов

Другие вопросы по тегам