我想實現我自己的包含emojis的鍵盤。 爲此,我將光標位置插入表情符號。uitextfield positionFromPosition:偏移量不工作emojis
如果在UITextField中不存在4字節的表情符號字符,這可以正常工作。否則,應用程序會崩潰。
我在這裏發佈插入代碼。有人可以指出如何解決這個問題嗎?
UITextField *field = self.textField;
UITextRange *range = field.selectedTextRange;
int pos = [field offsetFromPosition:field.beginningOfDocument toPosition:range.end];
NSString * firstHalfString = [field.text substringToIndex:pos];
NSString * secondHalfString = [field.text substringFromIndex:pos];
field.text = [NSString stringWithFormat: @"%@%@%@", firstHalfString, emoticon, secondHalfString];
UITextPosition *newPos = [field positionFromPosition:field.beginningOfDocument offset:pos + 1];
field.selectedTextRange = [field textRangeFromPosition:newPos toPosition:newPos];
此行返回零,如果有在文本表情符號:
UITextPosition *newPos = [field positionFromPosition:field.beginningOfDocument offset:pos + 1];
謝謝!這是一個小問題,但它讓我非常惱火。 –