У меня тоже была эта проблема, но только в Android, я создал сценарий, который получал бы высоту сфокусированного элемента и клавиатуры, и с помощью jQuery я добавил marginTop для перемещения тела над клавиатурой, когдапоказывает клавиатура, это мой код:
constructor(
private platform: Platform,
private keyboard: Keyboard
) {
if(this.platform.is('android')){
this.keyboard.onKeyboardShow().subscribe((e) => {
const offset = $(document.activeElement).offset().top;
let height = (offset - e.keyboardHeight)*-1;
height = height > 0 ? 0 : height;
$('body').animate({ 'marginTop': height + 'px' }, 100);
});
this.keyboard.onKeyboardHide().subscribe(e => {
$('body').animate({ 'marginTop': 0 + 'px' }, 100);
});
}
}
необходимые библиотеки:
npm install jquery
npm install @types/jquery
ionic cordova plugin add cordova-plugin-ionic-keyboard
npm install @ionic-native/keyboard
импорт
import { Platform } from '@ionic/angular';
import * as $ from "jquery";
import { Keyboard } from '@ionic-native/keyboard/ngx';
Не элегантное решение, но оно работает