キーボードが表示されると、入力フォーム要素がフォーカスされ、中央に配置されます。したがって、入力フォーム要素がレイアウトの下部にある場合、キーボードが表示されるとフォーム要素が中央に配置され、ヘッダー バーが上に移動して消えます。
レイアウトを変更する必要があると思います。入力フォーム要素は上部領域に配置する必要があります。その後、ヘッダーバーは消えません。
もう 1 つの解決策は、動的にレイアウトを変更することです。キーボードが表示される前は、javascript によってレイアウトを動的に改善でき、キーボードが閉じられた後は、レイアウトを復元できます。
たとえば、html は
<div class="upper_area">
...
</div>
<input type="text" class="input_name">.
upper_area は、レイアウト内のものです。これは、入力フォーム要素が下の領域にあることを意味します。jsは
$('#input_name').on('focusin' , function(e) {
$('#upper_area').hide();
});
$('#input_name').on('focusout', function(e) {
$('#upper_area').show();
});
この js は、キーボードが表示される前にレイアウトを動的に変更します。入力フォーム要素は、キーボードが現れる前の上部エリアになります。そのためヘッダーバーは消えません。
上記のコードでは、簡単にするために jQuery (バージョン >= 2.0.0) を使用しています。