iOS 限制输入字数完美解决方案

关于限制输入字数以前也做过,网上也很多方法。但都不够完美,本方法可防止中文联想、粘贴等突破长途限制、可防止Emoji截为两半导致编码出问题。

- (void)textFieldDidChange:(UITextField *)textField
{
    if (textField == self.textFieldName) {
        if (textField.text.length > 15) {
        UITextRange *markedRange = [textField markedTextRange];
           if (markedRange) {
              return;
           }
//Emoji占2个字符,如果是超出了半个Emoji,用15位置来截取会出现Emoji截为2半 //超出最大长度的那个字符序列(Emoji算一个字符序列)的range NSRange range = [textField.text rangeOfComposedCharacterSequenceAtIndex:15]; textField.text = [textField.text substringToIndex:range.location]; } } }

 

posted @ 2016-06-09 22:38  张林峰  阅读(12724)  评论(0编辑  收藏  举报