美文网首页
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