簡體   English   中英

如何在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進行硬編碼。

換句話說,用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM