如何限制 Swift 中 2 个文本字段中的数字?
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 进行硬编码。
换句话说,将 minutesTF
的使用替换为 textField
。
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
}
}
我想将文本字段中的用户选项限制为仅键入小于 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 进行硬编码。
换句话说,将 minutesTF
的使用替换为 textField
。
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
}
}