我有一个使用 PhoneGap(HTML5、JavaScript,非 native )的应用程序。每当我单击应用程序中的 TextArea 时,就会弹出一个恶性错误,该错误会在屏幕上移动我的某些元素(具体来说,它会混淆位置:固定的内容)。
要解决这些问题,我希望能够禁用在键盘弹出时滚动 UIWebView 的功能,但我不确定如何执行此操作。
不确定这是否清楚,但是如何在键盘显示时禁用 UIWebView 的滚动。
最佳答案
我认为这是 UIWebView 中的错误(或者更确切地说是缺少功能?)。我通过在 -keyboardWillShow:
上保存 textView.scrollView.contentOffset
并将 contentOffset
设置为 中保存的值来解决它 - keyboardDidHide:
不好,因为您仍然会看到它短暂地滚动,但比完全失去焦点更令人不安。
另一种方法是将带有长文本的部分实现为原生 UITextView,这样就不会发生这种不良行为。
编辑:
另一种解决方法是不使用 contenteditable
。如果您可以设法设计一个普通的文本输入字段,那么滚动将缩放到当前选定的文本字段(顺便说一下,这也是为什么 contenteditable 的行为如此奇怪,因为它找不到任何可以放大的东西)。此外,*!§*$
previous-next keyboardInput 栏再次变得有用。
关于javascript - 如何在键盘显示时禁用 UIWebView 的自动滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11916724/