我有一个我想要打印的自定义NSView子类。我有一个控制器运行以下代码:
MyCustomView *printableView = [[MyCustomView alloc] init];
NSPrintOperation *po = [NSPrintOperation printOperationWithView:printableView];
[po runOperation];
当我设置断点时,此代码会运行,并且NSView中的自定义分页方法(knowsPageRange:
和rectForPage:
)会运行,但视图的drawRect:
方法永远不会被调用。它显示打印对话框,但所有打印对话框都是空白页。
为什么我的drawRect:
方法永远不会被调用?是否有某种设置我必须先做?
答案 0 :(得分:2)
NSView
的指定初始值设定项为-initWithFrame:
。虽然使用MyCustomView
初始化-init
即可,但-init
的实现应该调用[super initWithFrame:someRect]
。它是这样做的吗?
换句话说,你的观点是否有框架矩形?