我正在使用 PhoneGap 构建一个应用程序,我有一个屏幕,它有一个固定的导航栏、一个下方的可滚动区域以及该区域中的一个文本字段(想想 facebook 消息屏幕)。当您点击文本字段时,键盘会弹出,虽然导航栏是固定的,但它会向上滚动并离开屏幕。我希望它保持固定并且可滚动区域应该变窄。
有没有办法做到这一点?
这是一个图表(对不起质量差): 图表
我正在使用 PhoneGap 构建一个应用程序,我有一个屏幕,它有一个固定的导航栏、一个下方的可滚动区域以及该区域中的一个文本字段(想想 facebook 消息屏幕)。当您点击文本字段时,键盘会弹出,虽然导航栏是固定的,但它会向上滚动并离开屏幕。我希望它保持固定并且可滚动区域应该变窄。
有没有办法做到这一点?
这是一个图表(对不起质量差): 图表
而不是使用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);
set frames here:
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
// change base view frame
}
- (void)textFieldDidEndEditing:(UITextField *)textField
{
// reset base view frame
}