限制多个文本字段的长度

时间:2017-07-05 02:46:55

标签: ios swift swift3 uitextfield

我在一个视图控制器中有几个文本字段,我使用以下函数来限制字符数:

func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
    return textView.text.characters.count + (text.characters.count - range.length) <= 300
}

如何更改其他文本字段的最大字符数?我需要另一个文本字段的下限。

1 个答案:

答案 0 :(得分:1)

对于TextView,您需要使用以下TextView委托方法

func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool
{
     if textView == yourTextViewName
     {
         let str = (NSString(string: textView.text!)).replacingCharacters(in: range, with: text)
         if str.characters.count <= 300 {
             return true
         }
         textView.text = str.substring(to: str.index(str.startIndex, offsetBy: 300))
         return false
     } 
     return true
}

对于TextField,您必须使用以下委托方法

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool
{
    if textField == yourTextFieldName {
        let str = (NSString(string: textField.text!)).replacingCharacters(in: range, with: string)
        if str.characters.count <= 300 {
            return true
        }
        textField.text = str.substring(to: str.index(str.startIndex, offsetBy: 300))
        return false
    }
    return true
}

我希望这对你有所帮助。