在NSTextField中处理测量单位

时间:2012-05-09 14:34:21

标签: objective-c cocoa

我正在创建一个测试应用程序来计算矩形区域。此应用程序使用 NSTextField 控件来获取矩形的长度和宽度。
用户需要输入一个字符串值,其中还包括长度单位(样本值 2.5英寸 1500 mm )。 我希望NSTextField自动转换厘米( cm )的值,以便在文本字段失去焦点时显示转换后的值(以cm为单位)。

对于Eg:

用户输入长度为:1500 mm

用户进入下一个文本字段以输入广度后,将显示长度字段

显示值:150 cm

我们如何实现这一目标?

2 个答案:

答案 0 :(得分:1)

我认为你想使用委托方法controlTextDidEndEditing:,它在编辑完成后发送到你的文本字段的委托。一旦从字段编辑器中获取字符串,您将需要以某种方式解析它以查找单位(您如何解析它取决于您需要找到的所有内容)。如果您正在搜索的内容很少,例如cm,mm,m,那么您可以使用rangeOfString:并测试0长度以找出输入的单位。顺便说一句,你也应该正确地做数学 - 1500mm = 150 cm

答案 1 :(得分:0)

我会考虑采用不同的方法,使用UIPicker显示可用单位,并让他们分别输入数字。

否则,您将不得不进行所有这些解析。看不到解析的重点。另外,如果他们拼错单位,或使用不同的方式来表示单位,那么你也必须考虑到这一点。取决于您的应用程序,但如果用户必须输入单位,那么他们使用UIPicker可能会更方便。

相关问题