0

iOS 7 以降用の新しい Onsen-UI / Phonegap プロジェクトを開始しましたが、入力フォームと対話するためにキーボードが表示されたときに HEADER BAR を修正できないようです。キーボードが表示されると、固定ヘッダー バーが画面の外に押し出されます。

キーボードを閉じると、ヘッダーが再び表示されます。しかし、「送信」ボタンがヘッダー バーにあるため、これはユーザーにとって混乱を招きます。そのため、ユーザーがキーボードを閉じない限り、「迷子になったり混乱したり」します。

助言がありますか?

-デイブ

4

1 に答える 1

-1

キーボードが表示されると、入力フォーム要素がフォーカスされ、中央に配置されます。したがって、入力フォーム要素がレイアウトの下部にある場合、キーボードが表示されるとフォーム要素が中央に配置され、ヘッダー バーが上に移動して消えます。

レイアウトを変更する必要があると思います。入力フォーム要素は上部領域に配置する必要があります。その後、ヘッダーバーは消えません。

もう 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) を使用しています。

于 2014-06-10T09:31:17.777 に答える