我有一个UITextField,我想限制用户只输入介于0.0到24.00之间的十进制数字。
主要思想是用户在该字段中输入小时数。所以一天不能超过24小时。
是否可以在2位数后自动输入小数?因此,当用户输入" 18"例如,小数"。"自动显示。
现在,我限制用户只输入完整的小时数。所以他们只能输入2位数。我真的需要改变它。这就是我现在所拥有的。
txtFld_Hours.ShouldChangeCharacters = (textField, range, replacementString) => {
var newLength = textField.Text.Length + replacementString.Length - range.Length;
return newLength <= 2;
};
感谢您的时间。
答案 0 :(得分:0)
当然,一切皆有可能,但与其他人提到的一样,对时间选择器使用UIDatePicker
控件会更好(它甚至会在iOS上为您处理本地化,因为有些国家/地区会使用12小时的时间例如,使用AM / PM标记)。甚至MonoTouch文档也说平台之间存在差异,您应该以只为每个平台编写UI代码差异的方式构建代码,但所有其他代码对所有平台都是通用的。
但是如果你必须自己做这件事,这需要一些更复杂的解决方案,所以我们不能直接为你写这个。通过 GitHub 搜索某些代码示例,我确信您可以轻松地将 Objective-C 转换为 MonoTouch ,因为它应该是API的1:1映射。
以下是关于从哪里开始的一些事项:
IUITextFieldDelegate
界面文档(您已了解的)ShouldBeginEditing
方法。
SelectedTextRange
属性将光标移动到点后面。在此之后,您应该拥有自己的UITextField
自定义小时选择器。