[英]How to limit the numbers in 2 text fields in Swift?
我想将用户在文本字段中的选项限制为仅键入小于59的数字。
我有一个代码只能在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
}
}
您只能具有shouldChangeCharactersInRange
方法的一种实现。 因此,永远不会调用您的第二个(在方法中使用textField2
名称)。 删除您的textField2:shouldChangeCharactersInRange:replacementString:
方法。
请注意,文本字段作为参数传递。 使用该文本字段参数,而不是在实现中对文本字段ivar进行硬编码。
换句话说,用textField
代替minutesTF
使用。
func textField(textField: UITextField,
shouldChangeCharactersInRange range: NSRange,
replacementString string: String) -> Bool
{
var startString = ""
if (textField.text != nil)
{
startString += textField.text!
}
startString += string
var limitNumber = startString.toInt()
if limitNumber > 59
{
return false
}
else
{
return true
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.