私はNSView
のサブクラスを印刷専用に使用していますが、印刷中にかなり複雑なものがあります。そのため、ダイアログが表示されることがあります。問題は、進捗ダイアログがスクリーンではなくプリントアウトに描画されることです。印刷中にウィンドウを表示できますか?
私は[NSGraphicsContext saveGraphicsState]
と[NSGraphicsContext restoreGraphicsState];
のウィンドウに描画する可能性のあるブラケットの場所を試しましたが、これはうまくいかなかった。
私も
[self unlockFocus];
[self stuffThatMightDrawAWindow];
[self lockFocus];
を試してみましたが、それは動作しませんでした。実際には、unlockFocus
の直後に、unlockFocus
が実際に何もしなかったかのように、[NSView focusView]
がまだ私の印刷ビューを指していることがわかりました。
私は、印刷ビューのdrawRect:
メソッドで印刷に描画されるようにコードを再構成しようとするべきですが、それが唯一の解決策であるかどうか不思議です。
私はrectForPage:
方法、私はページ番号を知っている最初の場所ですべてのコンテンツの準備を行うためにリファクタリングを試してみました。今すぐプリントアウトがOKに見えますが、私はrectForPage:
中にシンプルなモーダルNSAlert
を実行した場合、アラートがボタン以外の空白です: