Вам не нужно создавать вид заранее, вы можете создать его при необходимости.
Если у вас есть приложение на основе документов и представление, которое вы хотите выгрузить на принтер, то в нашем 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;
}
Более подробную информацию вы можете найти в главе 27, «Печать», в Hillegass «Программирование какао для Mac OS X».