0

印刷しようとしているカスタム NSView サブクラスがあります。次のコードを実行するコントローラーがあります。

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

ブレークポイントを設定すると、このコードが実行され、NSViewのカスタム ページネーション メソッド (knowsPageRange:および) が実行されますが、ビューのメソッドは呼び出されません。印刷ダイアログが表示されますが、印刷されるのはすべて空白のページです。rectForPage:drawRect:

drawRect:メソッドが呼び出されないのはなぜですか? 最初にやらなければならない設定はありますか?

4

1 に答える 1

2

指定された初期化子はNSViewです-initWithFrame:。をMyCustomViewで初期化しても問題ありませんが-init、 の実装は-initを呼び出す必要があります[super initWithFrame:someRect]。そうしていますか?

別の言い方をすれば、ビューにはフレーム四角形がありますか?

于 2012-05-16T09:33:11.303 に答える