移动固定定位元素的iOS 7input元素

我正在尝试为iOS 7重新编译一个应用程序,因为迄今为止还没有一个应用程序能够正常工作。 其中一个问题是我在UIWebViews中使用了一些input。 文本input,捡拾器等

现在,当iOS 7shiny的白色键盘出现时,网页中的所有底部固定元素(例如确认button)向上滚动,就好像虚拟键盘的“顶部”是我的UIWebView的新底部一样。 这是与iOS6.x完全不同的行为

有没有什么魔术让虚拟键盘的行为像过去一样工作,而不向JSView注入JS / CSS?

这解决了我的cordova应用程序的问题。 我不确定它是否适用于您,但以防万一。

检查你的HTML元标签是这样的:

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0"> 

用下面的代替它:

 <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, target-densityDpi=device-dpi" /> 

在我们的情况下,只要用户滚动,就会自动修复。 所以这是我们用来模拟任何inputtextarea blur滚动的修复:

 $(document).on('blur', 'input, textarea', function () { setTimeout(function () { window.scrollTo(document.body.scrollLeft, document.body.scrollTop); }, 0); }); 

我跑了完全相同的问题,放弃了两天的实验。 它似乎是:a)所有底部固定的元素向上,使它们的底部偏移相对于键盘的顶部边缘c)所有顶部固定的元素保持原始位置(不要像以前那样向上移动) – 请注意,顶级绝对元素工作正常。

我find的唯一的解决scheme是有一个自定义的iPad样式表,用绝对元素replace所有固定的元素,将CSS底部属性设置为自动,并使用顶部

Opposum,你的解决scheme为我工作,但只有当规模设置为1.0。 如果我把它设置为0.9,那么它会像你之前build议的修复。 我把初始尺度,最大尺度和最小尺度设置为0.9,键盘出现的时候固定物体的弹跳效果还在。