2016-05-24 19 views
5

ho fatto la funzionalità di stampa per la personalizzazione NSView del NSPopover dal assegnando la seguente azione di pulsante per questa NSView in MainController:Come impostare la stampa nel cacao, veloce?

@IBOutlet var plasmidMapIBOutlet: PlasmidMapView! 

@IBAction func actionPrintfMap(sender: AnyObject) 
{ 
    plasmidMapIBOutlet.print(sender) 
} 

Si sta lavorando, ma la finestra di stampa non ha alcuna opzione per Formato carta e Orientamento, vedere la schermata qui sotto. enter image description here

  1. Cosa devo fare per ottenere queste opzioni nella finestra di stampa?
  2. E, come rendere NSView adatto all'area stampabile? Ora non è adatto.

Ho capito alcuni momenti, ma non completamente. Quindi, posso impostare la stampa con il seguente codice

@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) 
} 

Ma, ho ancora problemi. Dal codice precedente posso ottenere l'orientamento solo (l'ultimo, ShowsOrientation), ma non entrambi PaperSize e Orientation. Come posso gestire ShowsPaperSize e ShowsOrientation?

+0

Hai letto [Guida alla programmazione di stampa per Mac] (https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Printing/osxp_aboutprinting/osxp_aboutprt.html#//apple_ref/doc/uid/10000083-SW1)? – Willeke

+0

@Willeke Sì, ho aggiornato le domande. Ora posso averne una, ma non entrambe le opzioni ShowsPaperSize e ShowsOrientation. Come posso avere entrambi? – VYT

risposta

2

Finalmente ho trovato la risposta che è semplice da scrivere ma non è davvero ovvia dalla documentazione di Apple.

operation.printPanel.options.insert(NSPrintPanelOptions.showsPaperSize) 
    operation.printPanel.options.insert(NSPrintPanelOptions.showsOrientation) 
Problemi correlati