Impression NSLandscapeOrientation
Rocou
Membre
J'ai un petit souci au niveau de l'orientation de ma page pour l'impression.
J'ai un bouton "imprimer" qui déclenche une IBAction que voici:
Rien que du classique...
Pourtant, systématiquement la première fois que je clique sur mon bouton, j'obtiens une impression en mode portrait. Il faut que je l'annule et que je recommence pour avoir mon mode paysage.
J'ai un bouton "imprimer" qui déclenche une IBAction que voici:
- (IBAction)printListing:(id)sender <br />{<br /> Listing *v = [[Listing alloc] initWithListing:maListeEvenDemain];<br /> <br /> NSPrintInfo *printInfo = [NSPrintInfo sharedPrintInfo];<br /> NSPrintOperation *printOp = [NSPrintOperation printOperationWithView:v printInfo:printInfo];<br /> [printInfo setOrientation:NSLandscapeOrientation];<br /> [printOp setShowsPrintPanel:YES];<br /> [printOp setShowsProgressPanel:YES];<br /> [printInfo setHorizontallyCentered:NO];<br /> [printInfo setVerticallyCentered:NO];<br /> [printInfo setTopMargin:20.0];<br /> [printInfo setBottomMargin:18.0];<br /> [printInfo setLeftMargin:10.0];<br /> [printInfo setRightMargin:10.0];<br /> [[printInfo dictionary] setObject:[NSNumber numberWithFloat:0.75] forKey:NSPrintScalingFactor];<br /> <br /> <br /> <br /> [printOp runOperation];<br /> <br /> [v release];<br /> <br />}<br />
Rien que du classique...
Pourtant, systématiquement la première fois que je clique sur mon bouton, j'obtiens une impression en mode portrait. Il faut que je l'annule et que je recommence pour avoir mon mode paysage.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Donc en fait ça me parait logique, la première fois tu récupères le sharedPrintInfo (singleton dont tu accèdes pour la première fois donc qui va se créer tout fraà®chement tout neuf avec les valeurs par défaut) et utilises ces valeurs (par défaut, donc) pour ta NSPrintOperation.
Ce n'est que la 2e fois que, tu récupères le sharedPrintInfo (et comme c'est un singleton tu récupères le même que celui précédemment créé la première fois, donc que tu avais fini par configurer, même si c'était trop tard pour ta première impression) et donc un NSPrintInfo correctement configuré (... lors de ton 1er appel), puis l'utilises. Et le reconfigures encore (pour rien puisque pour le coup il l'était déjà , mais bon c'est pas grave... en tout cas il sera prêt pour le... prochain coup)
Conclusion : il suffit j'imagine que tu fasses tous tes "[printInfo set...]" AVANT la création du NSPrintOperation l'utilisant.
Arg! Bien sûr, tu as raison!
Mais quel idiot
Merci beaucoup!