我正在尝试制作绘图应用程序。所以我有一个NSScrollView的子类,用于显示标尺。
[self setHasHorizontalRuler: true];
[self setHasVerticalRuler:YES];
[self setRulersVisible:true];
[self setAutoresizesSubviews:YES];
问题是标尺的数字与我用来绘制的单位数不同。这里我想绘制的点是(0,0)(22,12)和(5,7)
我知道有一个寄存器测量单元和NSRulerView的集合以及一些默认单元,但我找不到默认单元,或者我如何在NSScrollView类中使用它的任何示例。我应该将每个坐标乘以常数吗?在那种情况下,那是什么常数?
答案 0 :(得分:1)
registerUnitWithName:abbreviation:unitToPointsConversionFactor:stepUpCycle:stepDownCycle:
类方法的描述中列出了默认单位,可以从属性measurementUnits
找到当前标尺单位。
说明会告诉您每个预定义单位名称的点/单位。绘图视图的测量单位是点,因此以标尺单位绘制将获取您的位置,并将每个坐标乘以适当标尺(水平/垂直)的measurementUnits
的点/单位。例如。考虑您的位置(5, 7)
,标尺单位设置为厘米,然后积分/单位为28.35,您的位置为(141.75, 198.44)
分。
HTH