您不必提前创建视图,您可以在需要时创建它。
如果您有基于文档的应用程序和要转储到打印机的视图,那么在我们的MyDocument
(或您所称的)扩展中,NSDocument
您将实现:
- (NSPrintOperation *)printOperationWithSettings:(NSDictionary *)ps
error:(NSError **)e
然后视图使用标准drawRect:
进行绘图。
例如,这里PeopleView
只画了一个table
人的细节,这里需要一个NSDictonary
人employees
:
- (NSPrintOperation *)printOperationWithSettings:(NSDictionary *)ps
error:(NSError **)e
{
PeopleView * view = [[PeopleView alloc] initWithPeople:employees];
NSPrintInfo * printInfo = [self printInfo];
NSPrintOperation * printOp
= [NSPrintOperation printOperationWithView:view
printInfo:printInfo];
[view release];
return printOp;
}
您可以在 Hillegass 的 Cocoa Programming For Mac OS X 中的第 27 章“打印”中查找更多详细信息。