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? –