设置textfield最大字符长度

原本以为设置最大限制长度很简单,很快写完之后却发现有很多bug,所以网上搜索了一下发现实现方法都很麻烦,所以打算自己琢磨一下,不废话 先上DEMO

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

{

if(textField.text.length+string.length>=4&&string.length>0)

{

textField.text=[[textField.text stringByAppendingString:string] substringToIndex:4];

return NO;

}

return YES;

}



以上代码是限制textfield字符长度为4的DEMO,这个代理方法的原理是string为你新输入的文字 textfield.text是之前的内容,只有判断原来和新输入的内容加起来的长度是否大于你所限制的长度,然后设置return NO;则相当于忽略这次输入, 而这个方法的判断string长度大于0是因为按删除按钮string是一个空字符串,所以按下删除按钮应该return yes;可以改变textfield的内容.(ps:该方法无法识别表情文字哦)

你可能感兴趣的:(设置textfield最大字符长度)