相关疑难解决方法(0)

如何从NSString中删除最后一个unicode符号

我已经实现了与文本字段关联的自定义键盘,因此当用户按下删除按钮时,我从字符串中删除最后一个字符,并手动更新当前文本字段文本.

NSRange range = NSMakeRange(currentTextFieldString.length-1, 1);
[currentTextFieldString replaceCharactersInRange:range withString:@""];
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.

现在,问题是,用户可以选择输入一些特殊的unicode符号,这些不是1个字节,它们也可以是2个字节,现在按下删除按钮,我必须删除整个符号,但如果我按照上述方法,用户必须按两次删除按钮.

在这里,如果我这样做:

NSRange range = NSMakeRange(currentTextFieldString.length-2, 2);
[currentTextFieldString replaceCharactersInRange:range withString:@""];
Run Code Online (Sandbox Code Playgroud)

它工作正常,但是,正常的字符,只有1个字节,一次被删除两次.

如何处理这种情况?

提前致谢.

编辑:

奇怪的是,如果我切换到iPhone键盘,它会适当地处理两种情况.必须有一些方法可以做到这一点,有一些我缺少的东西,但我无法弄清楚是什么.

iphone objective-c nsstring ios nsstringencoding

6
推荐指数
1
解决办法
2334
查看次数

标签 统计

ios ×1

iphone ×1

nsstring ×1

nsstringencoding ×1

objective-c ×1