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它提到NSPrintPanelOptions和NSPrintPanel的-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)