分享一个我在用的限制文本长度的方法:
1.不高于:
-(void)judge{
// UITextField *tf = (UITextField *)notifition.object;
NSString *toBeString = self.textfiled.text;
NSString *lang = _textfiled.textInputMode.primaryLanguage;// 键盘输入模式
if ([lang isEqualToString:@"zh-Hans"]) // 如果输入中文
{
UITextRange *selectedRange = [_textfiled markedTextRange];
//获取高亮部分
UITextPosition *position = [_textfiled positionFromPosition:selectedRange.start offset:0];
// 没有高亮选择的字,则对已输入的汉字进行字数统计和限制
if (!position)
{
if (toBeString.length > 5) {
_textfiled.text = [toBeString substringToIndex:5];
}
}
// 对高亮文本不做限制,因为它不是最终显示在输入框的文本。
else
{
}
}
// 中文输入法以外的直接对其统计限制即可,不考虑其他语种情况
else
{
if (toBeString.length > 5) {
_textfiled.text = [toBeString substringToIndex:5];
}
}
}
2.不少于:
_myNickname=_nickname.text;
int minLimit=6;//英文限制
if ([_myNickname lengthOfBytesUsingEncoding:NSUTF8StringEncoding]!=[_myNickname length]){
minLimit=2;//中文限制
}
if ([_myNickname length]<minLimit) //如果文本少于限制
{
}