我有一个自定义的 NSView 子类,我正在尝试打印它。我有一个 Controller 运行以下代码:
MyCustomView *printableView = [[MyCustomView alloc] init];
NSPrintOperation *po = [NSPrintOperation printOperationWithView:printableView];
[po runOperation];
当我设置断点时,此代码将运行,并且 NSView 中的自定义分页方法(knowsPageRange:
和 rectForPage:
)将运行,但 View 的 drawRect:
方法永远不会被调用。它显示打印对话框,但打印的都是空白页。
为什么我的 drawRect:
方法从未被调用?我必须先做一些设置吗?
最佳答案
NSView
的指定初始化器是 -initWithFrame:
。虽然使用 -init
初始化 MyCustomView
是可以的,但它的 -init
实现应该调用 [super initWithFrame:someRect]
。是这样做的吗?
换句话说,你的 View 有框架矩形吗?
关于objective-c - NSPrintOperation从不调用drawRect :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10608827/