From 0d9e4e320b2e2672ee37afae5350f73334548b32 Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Mon, 8 Dec 2025 19:51:59 +0100 Subject: [PATCH 1/2] fix: avoid undesired `reloadInputViews` during keyboard dismissal --- ios/views/KeyboardExtenderContainerView.swift | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ios/views/KeyboardExtenderContainerView.swift b/ios/views/KeyboardExtenderContainerView.swift index eece36f1d8..d45cb32b40 100644 --- a/ios/views/KeyboardExtenderContainerView.swift +++ b/ios/views/KeyboardExtenderContainerView.swift @@ -54,7 +54,7 @@ private class BaseContainerView: UIInputView { let desiredHeight = calculateDesiredHeight() - if frame.height != desiredHeight { + if abs(frame.height - desiredHeight) > 0.001 { frame.size.height = desiredHeight updateContentFrame(desiredHeight: desiredHeight) @@ -104,6 +104,8 @@ private class ModernContainerView: BaseContainerView { visualEffectView.contentView.addSubview(contentView) addSubview(visualEffectView) } + + updateContentFrame(desiredHeight: calculateDesiredHeight()) #endif } From d26f489d6505b3a314ec272bbf35c7857c10edda Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Tue, 9 Dec 2025 09:50:56 +0100 Subject: [PATCH 2/2] fix: iOS < 26 compatibility --- .../src/screens/Examples/KeyboardExtender/index.tsx | 5 ++++- example/src/screens/Examples/KeyboardExtender/index.tsx | 5 ++++- ios/views/KeyboardExtenderContainerView.swift | 6 +++--- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/FabricExample/src/screens/Examples/KeyboardExtender/index.tsx b/FabricExample/src/screens/Examples/KeyboardExtender/index.tsx index 4b4a04a5b7..fc99f55c57 100644 --- a/FabricExample/src/screens/Examples/KeyboardExtender/index.tsx +++ b/FabricExample/src/screens/Examples/KeyboardExtender/index.tsx @@ -48,7 +48,10 @@ export default function KeyboardExtendExample() { return ( <> - Keyboard.dismiss()}> + Keyboard.dismiss()} + > - Keyboard.dismiss()}> + Keyboard.dismiss()} + > CGFloat { @@ -85,6 +85,7 @@ private class ModernContainerView: BaseContainerView { override func setupContainerSpecifics() { setupVisualEffect() + super.setupContainerSpecifics() } private func setupVisualEffect() { @@ -104,8 +105,6 @@ private class ModernContainerView: BaseContainerView { visualEffectView.contentView.addSubview(contentView) addSubview(visualEffectView) } - - updateContentFrame(desiredHeight: calculateDesiredHeight()) #endif } @@ -130,6 +129,7 @@ private class ModernContainerView: BaseContainerView { private class LegacyContainerView: BaseContainerView { override func setupContainerSpecifics() { addSubview(contentView) + super.setupContainerSpecifics() } override func updateContentFrame(desiredHeight _: CGFloat) {