Ich arbeite gerade an einer Mac App. Wichtiger Bestandteil ist eine
Custom View. Diese View verhält sich ein bisschen so wie iCal. Es gibt
mehrere Spalten und beim Ändern der Window Größe verändern sich die
Breite der Spalten. Die View nimmt die ganze Breite ein. Nun gibt es
einmal natürlich die Probleme die Frank ja im Vortrag gut dargestellt
hast. Also erst einmal die Frage: Frank, gibt es die Folien und/oder
Code schon irgendwo?
Bei der anderen Frage geht es ums Drucken. Man kann die View sehr
breit ziehen. Wenn man dann druckt wird einfach der rechte Rand
abgeschnitten. Bei einem kleinen Window passt es. Nicht sonderlich
verwunderlich. Aber ich frage mich gerade wie ich es hinbekomme das
Drucken von der Window/View Größe zu trennen. Die View sollte
(zumindest in der Breite) immer auf ein Blatt passen.
Eigentlich bräuchte ich noch einen weiter Faktor bei der Konvertierung
von den User auf die Device Koordinaten so, dass die View immer genau
auf eine Seite passt. Wüsste aber gerade nicht so recht wie ich das
einbauen sollte. Dann hab ich im Netz noch diesen Code Schnipsel
gefunden
@implementation MyView
- (BOOL)knowsPageRange:(NSRangePointer)range
{
range->location = 1;
range->length = 1;
return YES;
}
- (NSRect)rectForPage:(int)page
{
NSPrintOperation *op = [NSPrintOperation currentOperation];
NSPrintInfo *pInfo = [op printInfo];
[self setFrame:NSMakeRect(0,0,[pInfo paperSize].width,[pInfo
paperSize].height)];
[self setBounds:NSMakeRect(0,0,[pInfo paperSize].width,[pInfo
paperSize].height)];
return NSMakeRect(0,0,[pInfo paperSize].width,[pInfo paperSize].height);
}
- (void) drawRect:(NSRect) rect
{
[[NSColor redColor] set];
[NSBezierPath fillRect:rect];
}
@end
...aber das kann es ja irgendwie auch nicht sein. Das Drucken würde
die Größe der View auf dem Bildschirm ändern.
Nun dachte ich - man könnte natürlich eine neue Instanz der View -nur
zum Drucken- erzeugen und die nirgends einhängen.
Wie würdet Ihr das angehen?
Gruss,
Torsten
Nach seinem Vortrag sind das hier eigentlich ein paar Fragen für Frank.
Vielleicht interessiert es aber auch sonst noch jemanden - deswegen
frage ich einfach mal bei uns auf der Liste.
Ich arbeite gerade an einer Mac App. Wichtiger Bestandteil ist eine
Custom View. Diese View verhält sich ein bisschen so wie iCal. Es gibt
mehrere Spalten und beim Ändern der Window Größe verändern sich die
Breite der Spalten. Die View nimmt die ganze Breite ein. Nun gibt es
einmal natürlich die Probleme die Frank ja im Vortrag gut dargestellt
hast. Also erst einmal die Frage: Frank, gibt es die Folien und/oder
Code schon irgendwo?
Also auch komplett andere Klassen - eine für den Screen, eine zum Drucken?
Oder schaut die View was sie malen soll und Du hast nur zwei
Unterschiedliche Instanzen?
Gruss,
Torsten
> --
> Sie haben diese Nachricht erhalten, weil Sie der Google Groups-Gruppe CocoaHeads Frankfurt beigetreten sind.
> Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an cocoaheads...@googlegroups.com.
> Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an cocoaheads-frank...@googlegroups.com.
> Besuchen Sie die Gruppe unter http://groups.google.com/group/cocoaheads-frankfurt?hl=de, um weitere Optionen zu erhalten.
>