[英]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.