VYT*_*VYT 5 printing cocoa swift
我通过在mainController中为此NSView的按钮分配以下操作,为NSPopover的自定义NSView创建了打印功能:
@IBOutlet var plasmidMapIBOutlet: PlasmidMapView!
@IBAction func actionPrintfMap(sender: AnyObject)
{
plasmidMapIBOutlet.print(sender)
}
Run Code Online (Sandbox Code Playgroud)
它工作正常,但打印窗口没有纸张尺寸和方向选项,请参见下面的截图.

我已经想出了一些时刻,但并不完全.所以,我可以通过以下代码设置打印
@IBAction func actionPrintMap(sender: AnyObject)
{
let printInfo = NSPrintInfo.sharedPrintInfo()
let operation: NSPrintOperation = NSPrintOperation(view: plasmidMapIBOutlet, printInfo: printInfo)
operation.printPanel.options = NSPrintPanelOptions.ShowsPaperSize
operation.printPanel.options = NSPrintPanelOptions.ShowsOrientation
operation.runOperation()
//plasmidMapIBOutlet.print(sender)
}
Run Code Online (Sandbox Code Playgroud)
但是,我还有问题.从上面的代码,我可以只定向(最后,ShowsOrientation),但不能同时纸型和方向.如何管理ShowsPaperSize和ShowsOrientation?
最后我找到了答案,写起来很简单,但从苹果文档中看并不明显。
operation.printPanel.options.insert(NSPrintPanelOptions.showsPaperSize)
operation.printPanel.options.insert(NSPrintPanelOptions.showsOrientation)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1345 次 |
| 最近记录: |