From 852b91912d69c896ca22372df3bf1de37dae8599 Mon Sep 17 00:00:00 2001 From: Marcus Kida Date: Thu, 28 Apr 2022 21:41:13 +0200 Subject: [PATCH] fix: cursor jumping when entering text before non-ascii char in share extension (#395) --- ShareActionExtension/Scene/View/StatusEditorView.swift | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ShareActionExtension/Scene/View/StatusEditorView.swift b/ShareActionExtension/Scene/View/StatusEditorView.swift index 595057fa..f670f660 100644 --- a/ShareActionExtension/Scene/View/StatusEditorView.swift +++ b/ShareActionExtension/Scene/View/StatusEditorView.swift @@ -54,6 +54,9 @@ public struct StatusEditorView: UIViewRepresentable { } public func updateUIView(_ textView: UITextView, context: Context) { + // preserve currently selected text range to prevent cursor jump + let currentlySelectedRange = textView.selectedRange + // update content // textView.attributedText = attributedString textView.text = string @@ -66,6 +69,9 @@ public struct StatusEditorView: UIViewRepresentable { viewDidAppear = false textView.becomeFirstResponder() } + + // restore selected text range + textView.selectedRange = currentlySelectedRange } public func makeCoordinator() -> Coordinator {