標籤:
首先你的ViewController需要實現 UITextFieldDelegate 代理,
其次,需要字數限制的UITextField執行個體的代理要設定成 self(ViewController)
然後實現下列代理方法:
Objective—C
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
if(range.length + range.location > textField.text.length)
{
return NO;
}
NSUInteger newLength = [textField.text length] + [string length] - range.length;
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}
iOS UITextField 輸入字數限制的實現