我正在创建一个测试应用程序来计算矩形的面积。这个应用程序使用 NSTextField控件来获取矩形的长度和宽度。
用户应该输入一个字符串值,其中也包括长度单位(示例值2.5 英寸,1500 毫米)。我希望 NSTextField 自动转换以厘米(cm)为单位的值,以便在文本字段失去焦点时立即显示转换后的值(以 cm为单位)。
例如:
用户输入长度为:1500 mm
一旦用户转到下一个文本字段输入宽度,长度字段就会显示
显示值:150 厘米
我们怎样才能做到这一点?
我正在创建一个测试应用程序来计算矩形的面积。这个应用程序使用 NSTextField控件来获取矩形的长度和宽度。
用户应该输入一个字符串值,其中也包括长度单位(示例值2.5 英寸,1500 毫米)。我希望 NSTextField 自动转换以厘米(cm)为单位的值,以便在文本字段失去焦点时立即显示转换后的值(以 cm为单位)。
例如:
用户输入长度为:1500 mm
一旦用户转到下一个文本字段输入宽度,长度字段就会显示
显示值:150 厘米
我们怎样才能做到这一点?
我认为您想使用委托方法 controlTextDidEndEditing:,它在编辑完成后发送到您的文本字段的委托。从字段编辑器中获取字符串后,您需要以某种方式对其进行解析以找到单位(如何解析它取决于您需要查找的所有内容)。如果您要寻找的东西很少,例如 cm、mm、m,那么您可能只使用 rangeOfString: 并测试 0 长度以找出输入的单位。顺便说一句,你也应该正确计算 - 1500mm = 150 cm
我会考虑一种不同的方法,使用 UIPicker 来显示可用的单位,并让他们分别输入数字。
否则,您将不得不进行所有这些解析。看不到解析的意义。另外,如果他们拼写错误,或者使用不同的方式来表示它,那么你也必须考虑到这一点。取决于您的应用程序,但如果用户无论如何都必须输入单位,则使用 UIPicker 可能更方便。