カスタム ビューの印刷に取り組んでいますが、問題が発生しています。誰かが私を正しい方向に向けてくれることを願っています。私はすべての Apple ドキュメントを読みましたが、うまくいきません。印刷をテストする簡単なプログラムを作成し、NSView (MainView) をサブクラス化し、drawRect メソッドに以下を追加しました。
@implementation MainView
- (void)drawRect:(NSRect)dirtyRect{
[super drawRect:dirtyRect];
NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithString:@"Hi"];
[myString drawInRect:dirtyRect];
}
ウィンドウにカスタム ビューを作成し、そのクラスを MainView に設定しました。
プログラムを実行すると、テキストが表示されます。これまでのところ問題ありません。
プルダウンから印刷をクリックすると、ダイアログが開き、プレビューにウィンドウ全体が表示されます。これには、最小、最大ボタンのある上部バーが含まれます。では、これが質問 1 です。ウィンドウ全体とビューだけがあるのはなぜですか?
次に、MainView で印刷ルーチンを作成し、それにプルダウン メニュー項目をリンクしました。
-(IBAction) printTheView{
NSRect r = [self bounds];
[[NSPrintOperation printOperationWithView:self] runOperation];
[self dataWithPDFInsideRect:r];
}
これにより、印刷プレビューには何も表示されません。さまざまな方法を試しましたが、何も機能しませんでした (例: NSSavePanel および beginSheetForDirectory... メソッド)。上記のコードは私の最後の試みでした。
要約すると、2 つの質問があります。2) カスタム印刷方法が機能しないのはなぜですか?
NSTextView を正常に印刷しましたが、これを取得するために縫い合わせることができません。提案/ポインタ/キックをいただければ幸いです。
ありがとうございました。
[編集] - - -
私はそれを部分的に機能させています。NSObject を介してカスタム ビューを printTheView メソッドにバインドしていました。IB では、プルダウン メニュー項目をウィンドウの Custom View オブジェクトにバインドしました。これは機能します。
ただし、ウィンドウ上のボタンを同じ方法で印刷メソッドにバインドすることはできません。つまり、CNTL CLICK でボタンからオブジェクトにドラッグします。
考え?