2016-05-24 6 views
5

Ich habe Druckfunktionalität für benutzerdefinierte NSView von NSPopover gemacht durch die folgende Aktion zu Schaltfläche für diese NSView in mainController zuweisen:Wie man Druck in Kakao, schnell einrichten?

@IBOutlet var plasmidMapIBOutlet: PlasmidMapView! 

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

Es funktioniert, aber das Druckfenster keine Option für Papierformat hat und Orientierung, siehe Screenshot unten. enter image description here

  1. Was soll ich tun, um diese Optionen im Druckfenster zu bekommen?
  2. Und, wie die NSView Anpassung an den bedruckbaren Bereich? Jetzt passt es nicht.

Ich habe einige Momente herausgefunden, aber nicht vollständig. So kann ich den Druck durch den folgenden Code einrichten

Aber ich habe immer noch ein Problem. Aus dem obigen Code kann ich nur Orientierung (die letzte, ShowsOrientation), aber nicht sowohl PaperSize und Orientierung. Wie kann ich sowohl ShowsPaperSize als auch ShowsOrientation verwalten?

+0

Bitte benutzen Sie [Druck Programming Guide for Mac] lesen (https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Printing/osxp_aboutprinting/osxp_aboutprt.html#//apple_ref/doc/uid/10000083-SW1)? – Willeke

+0

@Willeke Ja, ich habe die Fragen aktualisiert. Jetzt kann ich einen haben, aber nicht die Optionen ShowPaperSize und ShowsOrientation. Wie kann ich beides haben? – VYT

Antwort

2

Endlich habe ich die Antwort gefunden, die einfach zu schreiben ist, aber es ist nicht wirklich offensichtlich aus Apple-Dokumentation.

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