広告レイアウト マネージャーであるアプリ (デスクトップ) を構築しています。私が使用している Indesign テンプレートの測定値はインチです。たとえば、マガジンは 8x10.5 インチです。したがって、ユーザーに mag ページのビューを提供するために、メイン ウィンドウに NSScrollView を配置し、72 (ピクセル/インチ) の変換を使用して、ルーラーを次のように表示しました。
displayPageRect=NSMakeRect(400.0, 70.0,72*8.125,72*10.5);
displayPage = [[NSScrollView alloc] initWithFrame:displayPageRect];
//set up the rulers display
[displayPage setRulersVisible:YES];
[displayPage setHasVerticalRuler:YES];
[displayPage setHasHorizontalRuler:YES];
//set up border color and width
[displayPage setBorderType:NSLineBorder];
//display the displayPage on the screen
[[mainWin contentView] addSubview:displayPage];
これは問題なく機能しますが、定規はインチ単位で表示され、少しずれています。
また、画像には、画面の上部から始まり、ビューの中心から外れている紫色の四角形があることに注意してください。これは NSScroll のサブビューであり、ページの余白を表すと想定されています。これもオフです。
//make a new page element for page borders
PageElements* pageBorders = [PageElements new];
NSColor* borderColor = [NSColor purpleColor];
[pageBorders setColor:borderColor];
[pageBorders initWithFrame:NSMakeRect(72*.313, 72*.375, 72*7.499, 72*9.875)];
[[displayPage contentView] addSubview:pageBorders];
明らかに、コンバージョン/プレースメントで何か間違ったことをしています。誰かがこれについて私を修正できますか? また、ルーラーの 0,0 をビューの x=0、y=0 の座標に揃える方法はありますか?