4
我正在構建一個作爲廣告佈局管理器的應用程序(桌面)。我正在使用的Indesign模板的測量值是英寸。例如,該雜誌是8x10.5英寸。這樣給用戶的MAG頁I放置NSScrollView,在主窗口中的視圖和使用的72(每英寸象素)轉換,然後顯示標尺,像這樣:Objective-C/XCode測量問題
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,視圖的座標對齊嗎?
謝謝蒂姆,我把它改成英寸,規則現在相匹配。不知道默認是什麼。另外,我正在使用昨天的偏移量和垂直標尺,我將其更改爲 - [vertRuler setOriginOffset:754.0];這將0點移到了標尺的頂部,但現在所有的數字都是負數。有沒有辦法只是翻轉統治者? – PruitIgoe
您是否嘗試從Document NSView子類的isFlipped方法返回YES? –