如何知道打印操作是否被取消?

时间:2014-11-09 01:18:49

标签: objective-c macos nsprintoperation nsprintinfo

我正在使用(NSPrintOperation *)printOperationWithView:(NSView *)aView printInfo:(NSPrintInfo *)aPrintInfo方法在我的OS X应用程序中打印视图。一切都按预期工作。当用户通过点击"取消"取消打印操作时,有没有办法捕捉事件?打印面板上的按钮?我一直在这里搜索,Apple的打印编程指南和网络,但到目前为止一无所获。有谁知道怎么做?

1 个答案:

答案 0 :(得分:0)

解决了!我添加了一个选择器来打印操作方法来捕获printPanelDidEnd时的事件: [printOp runOperationModalForWindow:myWindow delegate:self didRunSelector:@selector(printPanelDidEnd:returnCode:contextInfo:) contextInfo:nil];

然后:

- (void)printPanelDidEnd:(NSPrintPanel *)printPanel returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo { if (returnCode == NSCancelButton) { NSLog(@"Cancel button was selected"); } }