输入框输入汉字的个数最多为10个

来源:互联网 发布:最强密码破解软件 编辑:程序博客网 时间:2024/05/22 10:52

最近在做一个实名认证的输入框,要求输入框里面要输入汉字,而且字数最多为10个,下面是本人做的源代码,希望和同行们一起交流一下
1:先给输入框添加输入事件

///输入框的输入事件    [self.realNameTextField addTarget:self action:@selector(realNameTextFieldEditing) forControlEvents:UIControlEventEditingChanged];

2:在输入事件里面判断输入汉字的个数

- (void)realNameTextFieldEditing{    NSString *toBeString = self.realNameTextField.text;    //获取输入模式的主要语言    NSString *lang = [[UIApplication sharedApplication]textInputMode].primaryLanguage;    //如果输入模式的主要语言是简体中文:包括简体拼音,健体五笔,简体手写    if([lang isEqualToString:@"zh-Hans"]){        UITextRange *selectedRange = [self.realNameTextField markedTextRange];        UITextPosition *position = [self.realNameTextField positionFromPosition:selectedRange.start offset:0];        if (!position){//非高亮(即:已经在输入框里面的汉语部分)            if (toBeString.length > 10) {                self.realNameTextField.text = [toBeString substringToIndex:10];            }        }    }else{//中文输入法以外        if (toBeString.length > 10) {            self.realNameTextField.text = [toBeString substringToIndex:10];        }    }}

特别注意:你可以在代理里面判断,也可以在通知里面判断,也可以自己给输入框添加一个target来判断(上面就是).但是,判断输入框的输入字符的长度,你只能在一个方法里面判断,不要在代理里面判断了,在去添加target去判断输入汉字的字符长度

0 0