Как удалить строку заголовка, которая появляется вместе с диалоговым окном печати
У меня полноэкранное приложение Mac OS для OpenGL. Это window
создан с NSBorderlessWindowMask
стиль:
NSWindow *window = [[NSWindow alloc] initWithContentRect:rect styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:YES];
Мне нужно распечатать из приложения.
Мой печатный код выглядит так:
NSPrintInfo *printInfo = [NSPrintInfo sharedPrintInfo];
printInfo.orientation = NSPaperOrientationLandscape;
printInfo.verticalPagination = NSFitPagination;
printInfo.horizontalPagination = NSFitPagination;
printInfo.topMargin = 0;
printInfo.bottomMargin = 0;
printInfo.leftMargin = 0;
printInfo.rightMargin = 0;
[printInfo setHorizontallyCentered:YES];
[printInfo setVerticallyCentered:NO];
NSPrintOperation *op = [NSPrintOperation printOperationWithView:printingView printInfo:printInfo];
[printingView release];
[op runOperationModalForWindow:self.window delegate:self didRunSelector:@selector(printOperationDidRun:success:contextInfo:) contextInfo:nil];
Диалог печати появляется вместе с заголовком:
Это не хорошо, что заголовок появляется, но приемлемый.
Если я выберу "печать" или "отмена", диалоговое окно и заголовок исчезнут.
Но если я выберу печать в PDF, заголовок останется и не может быть удален вообще:
Как мне избавиться от строки заголовка?
1 ответ
Кажется, что для панели печати было бы более естественно выступить в качестве отдельного модального окна, а не листа из невидимого окна, и, возможно, это не вызовет проблем с панелью меню. Я считаю, что NSPrintOperation's runOperation
использует модальное окно (а также блокирует до его завершения), вы пробовали это?