From 8abe696ae2a43bbce9c98b23720dd17049c7a8c0 Mon Sep 17 00:00:00 2001 From: Dani Palou Date: Fri, 11 Jul 2025 10:37:21 +0200 Subject: [PATCH] fix(ios): Fix ion-footer hidden behind keyboard --- src/ios/CDVIonicKeyboard.m | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/ios/CDVIonicKeyboard.m b/src/ios/CDVIonicKeyboard.m index e4615a8..c2c0e9b 100644 --- a/src/ios/CDVIonicKeyboard.m +++ b/src/ios/CDVIonicKeyboard.m @@ -161,7 +161,7 @@ - (void)onKeyboardWillShow:(NSNotification *)note [self setKeyboardHeight:height delay:duration+0.2]; [self resetScrollView]; } - + [self setKeyboardStyle:self.keyboardStyle]; NSString *js = [NSString stringWithFormat:@"Keyboard.fireOnShowing(%d);", (int)height]; @@ -216,9 +216,9 @@ - (void)_updateFrame { CGSize statusBarSize = [[UIApplication sharedApplication] statusBarFrame].size; int statusBarHeight = MIN(statusBarSize.width, statusBarSize.height); - + int _paddingBottom = (int)self.paddingBottom; - + if (statusBarHeight == 40) { _paddingBottom = _paddingBottom + 20; } @@ -230,14 +230,14 @@ - (void)_updateFrame case ResizeBody: { NSString *js = [NSString stringWithFormat:@"Keyboard.fireOnResize(%d, %d, document.body);", - _paddingBottom, (int)f.size.height]; + _paddingBottom, (int)(f.size.height - wf.origin.y)]; [self.commandDelegate evalJs:js]; break; } case ResizeIonic: { NSString *js = [NSString stringWithFormat:@"Keyboard.fireOnResize(%d, %d, document.querySelector('ion-app'));", - _paddingBottom, (int)f.size.height]; + _paddingBottom, (int)(f.size.height - wf.origin.y)]; [self.commandDelegate evalJs:js]; break; } @@ -261,12 +261,12 @@ - (void)setKeyboardStyle:(NSString*)style }) : imp_implementationWithBlock(^(id _s) { return UIKeyboardAppearanceLight; }); - + if (self.isWK) { for (NSString* classString in @[WKClassString, UITraitsClassString]) { Class c = NSClassFromString(classString); Method m = class_getInstanceMethod(c, @selector(keyboardAppearance)); - + if (m != NULL) { method_setImplementation(m, newImp); } else { @@ -278,7 +278,7 @@ - (void)setKeyboardStyle:(NSString*)style for (NSString* classString in @[UIClassString, UITraitsClassString]) { Class c = NSClassFromString(classString); Method m = class_getInstanceMethod(c, @selector(keyboardAppearance)); - + if (m != NULL) { method_setImplementation(m, newImp); } else {