0
我想要限制用户在文本域选项,键入只有数字小于59如何限制Swift中2个文本字段中的数字?
Iv'e得到了完美只有1文本框的工作代码:
func textField(textField: UITextField,
shouldChangeCharactersInRange range: NSRange,
replacementString string: String) -> Bool
{
var startString = ""
if (minutesTF.text != nil)
{
startString += minutesTF.text!
}
startString += string
var limitNumber = startString.toInt()
if limitNumber > 59
{
return false
}
else
{
return true
}
}
但我的代码2个文本框简化版,工作的权利:
func textField(textField: UITextField,
shouldChangeCharactersInRange range: NSRange,
replacementString string: String) -> Bool
{
var startString = ""
if (minutesTF.text != nil)
{
startString += minutesTF.text!
}
startString += string
var limitNumber = startString.toInt()
if limitNumber > 59
{
return false
}
else
{
return true
}
}
func textField2(textField: UITextField,
shouldChangeCharactersInRange range: NSRange,
replacementString string: String) -> Bool
{
var startString = ""
if (secondsTF.text != nil)
{
startString += secondsTF.text!
}
startString += string
var limitNumber = startString.toInt()
if limitNumber > 59
{
return false
}
else
{
return true
}
}
太棒了!它完美的工作! – Eliko
请注意,您的逻辑是做错检查。您的代码假定用户只是简单地键入,并且光标始终位于当前文本的末尾。如果用户将光标放在别处或用户选择了一些文本,然后输入(或粘贴)更多文本,则逻辑将失败。 – rmaddy
是的,我通过你的代码修复了它。如果我得到第三个文本字段,并且我希望他限制在61以下,并且第一个文本字段在60以下,那该怎么办? – Eliko