【发布时间】:2018-07-04 16:36:13
【问题描述】:
这是我的应用程序的工作流程: 用户可以从应用程序的设置页面中选择默认打印机,每次直接使用此默认打印机进行打印无需任何打印预览对话框。
我们可以使用UIPrinterPickerController选择打印机:
let printerPicker = UIPrinterPickerController(initiallySelectedPrinter: nil)
printerPicker.present(from: CGRect(x: 0, y: 0, width: 600, height: 500), in: self, animated: true) { (printerPicker, userDidSelect, error) in
if userDidSelect {
//Here get the selected UIPrinter
let defaultPrinter = printerPicker.selectedPrinter
}
}
得到UIPrinter后,我们无法直接将UIPrinter对象保存到UserDefaults,这不是UserDefault支持的类型。
是否有任何其他选项可以将UIPrinter 保存到 UserDefaults 或任何其他方式来保存默认打印机。
【问题讨论】:
-
根据developer.apple.com/documentation/uikit/uiprinter,您可以保存打印机的 URL,然后从保存的 URL 重新创建打印机,但我自己从未尝试过。
-
另见stackoverflow.com/a/40610378——这是Objective-C,但很容易翻译成Swift。
标签: ios swift swift3 printing userdefaults