Как удалить строку заголовка, которая появляется вместе с диалоговым окном печати

У меня полноэкранное приложение 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 использует модальное окно (а также блокирует до его завершения), вы пробовали это?

Другие вопросы по тегам