美文网首页
ios文本框输入的字节数限制

ios文本框输入的字节数限制

作者: ROTK_lvzhenhua | 来源:发表于2018-05-10 16:55 被阅读0次
    在对应的回调方法里面去判断
    UITextRange *selectedRange = [textFieldtmp markedTextRange];
        UITextPosition *position = [textFieldtmp positionFromPosition:selectedRange.start offset:0];
        if (!position) {//非高亮
            NSUInteger bytes = [self cacluteStringNumber:textFieldtmp.text];
            if (bytes > 5) { //5在这里是限制的字节数的一般
                textFieldtmp.text = self.currentNickName;
            } else {
                self.currentNickName = textFieldtmp.text;
            }
        }
    

    在这里多说一下markedTextRange,苹果自带的输入法输入汉语的时候会有高亮的展位的文字,如果在代理方法里面去改变去对应的文本框的字符数,当markedTextRange为nil的时候高亮的颜色为空。可以监听高亮的状态。

    计算对应的字节数
    - (NSUInteger)cacluteStringNumber:(NSString *)string {
        if (string.length ==0) return 0;
        int strlength = 0;
        char* p = (char*)[string cStringUsingEncoding:NSUnicodeStringEncoding];
        for (int i=0 ; i<[string lengthOfBytesUsingEncoding:NSUnicodeStringEncoding] ;i++)
        {
            if (*p) {
                p++;
                strlength++;
            }
            else {
                p++;
            }
        }
        return (strlength+1)/2;
    }
    

    相关文章

      网友评论

          本文标题:ios文本框输入的字节数限制

          本文链接:https://www.haomeiwen.com/subject/jxhtdftx.html