如何在Cocoa打印对话框中获取"页面属性"选项?

SSt*_*eve 8 printing cocoa nsprintoperation

我正在编写的程序在OS X 10.5 Leopard下运行.我的目标是其基本SDK和部署目标都设置为Mac OS X 10.5.当我启动打印时,我的打印对话框不显示"页面属性"选项,用户可以在其中选择页面大小和方向.

没有页面属性

在Leopard下运行的其他程序会显示此选项:

是页面属性

这是启动打印的代码:

-(void)print {
    NSPrintInfo *printInfo = [NSPrintInfo sharedPrintInfo];
    TemperaturePressurePrintView *printView = [[TemperaturePressurePrintView alloc] initWithFrequencies:frequencies];
    if (printView) {
        [[NSPrintOperation printOperationWithView:printView printInfo:printInfo] runOperation];
        [printView release];
    }
}
Run Code Online (Sandbox Code Playgroud)

要使页面属性显示在我的打印对话框中,我需要做什么?

SSt*_*eve 16

这是一个很难搜索的东西,因为结果主要是关于使用打印面板,而不是编程.我终于发现了线索上Cocoabuilder它提到NSPrintPanelOptionsNSPrintPanel-setOptions:方法.

这段代码完成了我的需要:

-(void)print {
    NSPrintInfo *printInfo = [NSPrintInfo sharedPrintInfo];
    TemperaturePressurePrintView *printView = [[TemperaturePressurePrintView alloc] initWithFrequencies:frequencies];
    if (printView) {
        NSPrintOperation *op = [NSPrintOperation printOperationWithView:printView printInfo:printInfo];
        [[op printPanel] setOptions:[[op printPanel] options] | NSPrintPanelShowsPageSetupAccessory];
        [op runOperation];
        [printView release];
    }
}
Run Code Online (Sandbox Code Playgroud)