gpt4 book ai didi

objective-c - 更改 NSScrollview 中标尺的测量单位

转载 作者:行者123 更新时间:2023-12-03 17:37:57 28 4
gpt4 key购买 nike

我正在尝试制作一个绘图应用程序。所以我有一个 NSScrollView 的子类,我用它来显示标尺。

[self setHasHorizontalRuler: true];
[self setHasVerticalRuler:YES];
[self setRulersVisible:true];
[self setAutoresizesSubviews:YES];

问题是标尺的数字与我用来绘制的数字具有不同的单位。这里我想画的点是 (0,0) (22,12) 和 (5,7)

enter image description here

我知道有一个寄存器测量单位和一组 NSRulerView 和一些默认单位,但我找不到默认单位是什么,也找不到如何在 NSScrollView 类中使用它的任何示例。我应该将每个坐标乘以一个常数吗?那么这个常数是什么?

最佳答案

registerUnitWithName:abbreviation:unitToPointsConversionFactor:stepUpCycle:stepDownCycle: 的说明中列出了默认单位类方法,当前标尺单位可以从属性 measurementUnits 中找到.

描述告诉您每个预定义单位名称的点数/单位。绘图 View 的测量单位是点,因此要使用标尺单位进行绘制,请获取您的位置并将每个坐标乘以 measurementUnits 的点/单位。适当的标尺(水平/垂直)。例如。考虑您的位置(5, 7)将标尺单位设置为厘米,则点/单位为 28.35,您的位置为 (141.75, 198.44)以点为单位。

HTH

关于objective-c - 更改 NSScrollview 中标尺的测量单位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41333832/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com