4

我有一个使用 PhoneGap(HTML5、JavaScript,不是本机)的应用程序。每当我单击应用程序中的 TextArea 时,就会弹出一个恶性错误,该错误会在屏幕上移动我的一些元素(具体来说,它会破坏位置:固定的东西)。

为了解决这些问题,我希望能够禁用在键盘弹出时滚动 UIWebView 的功能,但我不确定如何执行此操作。

不确定这是否清楚,但是当键盘显示时如何禁用 UIWebView 的滚动。

4

2 回答 2

1

我认为这是 UIWebView 中的一个错误(或者说缺少功能?)。我通过保存textView.scrollView.contentOffseton-keyboardWillShow:并将其设置contentOffset为保存的值来解决它-keyboardDidHide:

不好,因为您仍然可以看到它短暂地滚动,但比完全失去焦点更不令人不安。

另一种方法是将带有长文本的部分实现为不会发生这种不良行为的本机 UITextView。

编辑: 另一种解决方法是不使用contenteditable. 如果您可以设法设计一个通常的文本输入字段,那么滚动将缩放到当前选定的文本字段(这也是为什么 contenteditable 行为如此奇怪,因为它找不到任何可以放大的内容)。此外,*!§*$上一个-下一个键盘输入栏再次变得有用。

于 2012-08-11T19:33:48.027 回答
1

这对我有用:

body {
    position: fixed;
    top:0;
    overflow:hidden;
}

我正在使用 iScroll,我不知道它在原生滚动中的表现如何。

于 2014-01-07T22:39:29.387 回答