diff --git a/ios/extensions/UITextInput.swift b/ios/extensions/UITextInput.swift index 002792543c..e184a4e5b5 100644 --- a/ios/extensions/UITextInput.swift +++ b/ios/extensions/UITextInput.swift @@ -11,6 +11,11 @@ import UIKit public extension UITextInput { var canSelectionFitIntoLayout: Bool { + guard let textView = self as? UITextView else { return true } + + // Force layout to ensure accurate rect calculation + textView.layoutManager.ensureLayout(for: textView.textContainer) + guard let selectedRange = selectedTextRange else { return false } guard let range = textRange(from: selectedRange.start, to: selectedRange.end) else { return false } diff --git a/ios/views/KeyboardExtenderContainerView.swift b/ios/views/KeyboardExtenderContainerView.swift index a91bf30cd7..eece36f1d8 100644 --- a/ios/views/KeyboardExtenderContainerView.swift +++ b/ios/views/KeyboardExtenderContainerView.swift @@ -70,7 +70,7 @@ private class BaseContainerView: UIInputView { // Override in subclasses } - override public var intrinsicContentSize: CGSize { + override var intrinsicContentSize: CGSize { return CGSize(width: UIView.noIntrinsicMetric, height: frame.height) } }