diff --git a/ElementX/Sources/Screens/RoomScreen/View/MessageComposerTextField.swift b/ElementX/Sources/Screens/RoomScreen/View/MessageComposerTextField.swift index 2b93c48e3..64ad4e875 100644 --- a/ElementX/Sources/Screens/RoomScreen/View/MessageComposerTextField.swift +++ b/ElementX/Sources/Screens/RoomScreen/View/MessageComposerTextField.swift @@ -80,6 +80,7 @@ private struct UITextViewWrapper: UIViewRepresentable { textView.returnKeyType = .default textView.textContainer.lineFragmentPadding = 0.0 textView.textContainerInset = .zero + textView.keyboardType = .twitter textView.setContentCompressionResistancePriority(.defaultLow, for: .horizontal) @@ -89,6 +90,17 @@ private struct UITextViewWrapper: UIViewRepresentable { func updateUIView(_ textView: UITextView, context: UIViewRepresentableContext) { if textView.text != text { textView.text = text + + if text.isEmpty { + // text cleared, probably because the written text is sent + // reload keyboard type + if textView.isFirstResponder { + textView.keyboardType = .default + textView.reloadInputViews() + textView.keyboardType = .twitter + textView.reloadInputViews() + } + } } UITextViewWrapper.recalculateHeight(view: textView, result: $calculatedHeight, maxHeight: maxHeight) diff --git a/changelog.d/269.bugfix b/changelog.d/269.bugfix new file mode 100644 index 000000000..71df95dd2 --- /dev/null +++ b/changelog.d/269.bugfix @@ -0,0 +1 @@ +Timeline: Reset keyboard after a message is sent.