PhoneGap を使用してアプリを構築しています。固定ナビゲーション バー、下にスクロール可能な領域、その領域にテキスト フィールドがある画面があります (Facebook のメッセージ画面を考えてください)。テキストフィールドをタップすると、キーボードがポップアップし、ナビゲーションバーは固定されていますが、画面から上にスクロールします。固定したままにして、スクロール可能な領域を狭くする必要があります。
これを行う方法はありますか?
これが図です(低品質で申し訳ありません): 図
PhoneGap を使用してアプリを構築しています。固定ナビゲーション バー、下にスクロール可能な領域、その領域にテキスト フィールドがある画面があります (Facebook のメッセージ画面を考えてください)。テキストフィールドをタップすると、キーボードがポップアップし、ナビゲーションバーは固定されていますが、画面から上にスクロールします。固定したままにして、スクロール可能な領域を狭くする必要があります。
これを行う方法はありますか?
これが図です(低品質で申し訳ありません): 図
set frames here:
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
// change base view frame
}
- (void)textFieldDidEndEditing:(UITextField *)textField
{
// reset base view frame
}
C を使用するのではなく、javascript とwindow.scrollToを使用してください (入力フォーカスで)。
$('input').live('focus', function(e) {
e.preventDefault(); e.stopPropagation();
window.scrollTo(0,0); //no scroll > stays fixed!
});
Yスクロール位置に静的な値を設定したくない場合は、入力フィールドの下にキーボードを自動的に配置する、私が書いたこの短いプラグインを自由に使用してください(スクロールする必要がない場合を除く). 上記のように、これをフォーカスで呼び出すだけです。
setKeyboardPos(e.target.id);