Skip to content

Commit

Permalink
[RNMobile] Ensure dictating text doesn't cause cursor to be offset on…
Browse files Browse the repository at this point in the history
… iOS (#51528)

The changes in this PR ensure that the cursor's position is always correct during dictation on iOS.
  • Loading branch information
Siobhan Bamber committed Jun 19, 2023
1 parent cfaecf2 commit c43d055
Showing 1 changed file with 4 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -356,8 +356,10 @@ class RCTAztecView: Aztec.TextView {

// Replace occurrences of the obj symbol ("\u{FFFC}")
textView.text = textView.text?.replacingOccurrences(of: "\u{FFFC}", with: "")

if let newPosition = textView.position(from: textView.beginningOfDocument, offset: originalPosition) {

// Detect if cursor is off-by-one and correct, if so
let newPositionOffset = originalPosition > 0 ? originalPosition - 1 : originalPosition
if let newPosition = textView.position(from: textView.beginningOfDocument, offset: newPositionOffset) {
// Move the cursor to the correct, new position following dictation
textView.selectedTextRange = textView.textRange(from: newPosition, to: newPosition)
}
Expand Down

0 comments on commit c43d055

Please sign in to comment.