在 UiTextView 中,我有一个函数可以跳转到插入符号后的下一个字符:
textView.selectedRange = NSMakeRange(textView.selectedRange.location+1,0);
当我有表情符号时它不起作用,我必须两次。
我想知道我是否可以检查插入符号后的下一个字符是否是特殊字符,所以我在插入符号位置移动 2 而不是 1。
当我尝试获取那个范围的 NSString 时,它没有给出任何信息或错误
NSRange myRange = NSMakeRange(textView.selectedRange.location,1);
[textView.text substringWithRange:myRange]
有什么帮助吗?
最佳答案
使用 NSString rangeOfComposedCharacterSequenceAtIndex:
方法。对于大多数字符,这将返回一个长度为 1 的范围。但是对于 Unicode 值为 U+10000 或更大的字符,这将返回一个长度为 2 的范围。
这会将插入符号移动到下一个字符:
NSRange nextRange = [textView.text rangeOfComposedCharacterSequenceAtIndex:textView.selectedRange.location];
textView.selectedRange = NSMakeRange(nextRange.location + nextRange.length, 0);
关于ios - UiTextView 使用表情符号移动到下一个字符错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19306153/