NSPrintOperation从不调用drawRect:

时间:2012-05-15 21:00:06

标签: objective-c cocoa printing

我有一个我想要打印的自定义NSView子类。我有一个控制器运行以下代码:

MyCustomView *printableView = [[MyCustomView alloc] init];
NSPrintOperation *po = [NSPrintOperation printOperationWithView:printableView];
[po runOperation];

当我设置断点时,此代码会运行,并且NSView中的自定义分页方法(knowsPageRange:rectForPage:)会运行,但视图的drawRect:方法永远不会被调用。它显示打印对话框,但所有打印对话框都是空白页。

为什么我的drawRect:方法永远不会被调用?是否有某种设置我必须先做?

1 个答案:

答案 0 :(得分:2)

NSView的指定初始值设定项为-initWithFrame:。虽然使用MyCustomView初始化-init即可,但-init的实现应该调用[super initWithFrame:someRect]。它是这样做的吗?

换句话说,你的观点是否有框架矩形?