简单实现修改UITextField的输入字数的限制
//初始化方法我就不写了,没啥必要
//假装我懒加载了一个 UITextField:self.textfieldName
///下边开始正文
///这段最好写到初始化方法里边
[_textfieldName addTarget:selfaction:@selector(textFieldEditChanged:)forControlEvents:UIControlEventEditingChanged];
- (void)textFieldEditChanged:(UITextField *)textField
{
[self textFieldDidChange:textField interger:10];
}
/// 限制字数
/// @param textField 限制的就是它
/// @param integer 限制几个字
- (void)textFieldDidChange:(UITextField *)textField interger:(NSUInteger)integer
{
NSString *text = textField.text;
UITextRange *selectedRange = [textField markedTextRange];
UITextPosition *position = [textField positionFromPosition:selectedRange.start offset:0];
if (!position){
if (text.length > integer){
NSRange range;
NSUInteger inputLength = 0;
for(int i=0; i < text.length && inputLength <= integer; i += range.length) {
range = [textField.text rangeOfComposedCharacterSequenceAtIndex:i];
inputLength += [text substringWithRange:range].length;
if (inputLength > integer) {
NSString* newText = [text substringWithRange:NSMakeRange(0, range.location)];
textField.text = newText;
}
}
}
}
}
干货就是这么简单,点个赞再走呀亲!!!