From 3ccd43241298ba153eabc0685feb96c8aeb5b3a8 Mon Sep 17 00:00:00 2001 From: Duy Tran Khanh <40482367+khanhduytran0@users.noreply.github.com> Date: Thu, 19 Jan 2023 11:19:09 +0700 Subject: [PATCH] Fix: missing multistage input handler for iOS 12.x --- Natives/TrackedTextField.m | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Natives/TrackedTextField.m b/Natives/TrackedTextField.m index 51eb9f0e..e64987ff 100644 --- a/Natives/TrackedTextField.m +++ b/Natives/TrackedTextField.m @@ -138,6 +138,18 @@ extern bool isUseStackQueueCall; } // Handle multistage text input +// for iOS 12.x +- (void)setMarkedText:(NSString *)markedText selectedRange:(NSRange)selectedRange { + // Delete the marked range + NSInteger markedLength = [self offsetFromPosition:self.markedTextRange.start toPosition:self.markedTextRange.end]; + [self sendMultiBackspaces:markedLength]; + + [super setMarkedText:markedText selectedRange:selectedRange]; + + // Insert the new text + [self sendText:markedText]; +} +// for iOS 13+ - (void)setAttributedMarkedText:(NSAttributedString *)markedText selectedRange:(NSRange)selectedRange { // Delete the marked range NSInteger markedLength = [self offsetFromPosition:self.markedTextRange.start toPosition:self.markedTextRange.end];