iOS 7输入元素移动固定定位元素

Fra*_*sco 19 input uiwebview virtual-keyboard ios ios7

我正在尝试为iOS 7重新编译一个应用程序,因为到目前为止还没有任何旧的应用程序.许多问题之一是我在UIWebViews中使用了一些输入.文字输入,拣货员等

现在,当iOS 7闪亮的白色键盘出现时,网页中的所有底部固定元素(例如,确认按钮)都向上滚动,就像虚拟键盘的"顶部"是我的UIWebView的新底部一样.这与iOS6.x有很大不同

是否有任何神奇的技巧可以使虚拟键盘行为像以前一样工作,而无需将JS/CSS注入webView?

Opo*_*sum 44

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

检查你的html元标记是这样的:

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0">
Run Code Online (Sandbox Code Playgroud)

替换为:

<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, target-densityDpi=device-dpi" />
Run Code Online (Sandbox Code Playgroud)

  • 我还没有接受答案,因为这并没有解决我的问题.实际上,它没有任何区别.我的经验类似于Pawel在另一个答案中描述的内容,作为一个快速修复,我最终得到了两个不同的样式表. (7认同)
  • 您是否尝试过使用横向应用程序?在横向时"设备高度"仍为1024,因此屏幕底部不在视野范围内. (3认同)

bas*_*rat 8

在我们的例子中,一旦用户滚动,这将自行修复.所以这是我们用来模拟blur任何input或上的滚动的修复textarea:

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


小智 6

我遇到了完全相同的问题,经过两天的实验后放弃了.似乎:a)所有底部固定元件向上移动,使得它们的底部偏移相对于键盘的顶部边缘c)所有顶部固定元件保持在其原始位置(不要像过去那样向上移动) - 请注意,top-absolute元素正常工作.

我找到的唯一解决方案是使用自定义iPad样式表替换所有固定元素和绝对元素,将css底部属性设置为auto并使用top替代