iOS UITextField 輸入字數限制的實現

首先你的ViewController須要實現 UITextFieldDelegate 代理,swift

其次,須要字數限制的UITextField實例的代理要設置成 self(ViewController)spa

而後實現下列代理方法:代理

Objective—Ccode

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{blog

    if(range.length + range.location > textField.text.length)string

    {io

        return NO;class

    }方法

    NSUInteger newLength = [textField.text length] + [string length] - range.length;di

    return newLength <= 5;//最大字數長度

}

swift:

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {

    let currentCharacterCount = textField.text?.characters.count ?? 0
    if (range.length + range.location > currentCharacterCount){
        return false
    }
    let newLength = currentCharacterCount + string.characters.count - range.length
    return newLength <= 25
}
相關文章
相關標籤/搜索