6

我有一个 UIWebView 呈现一个包含输入字段()的页面。

当用户触摸该字段以输入数据时,UIWebView 向上和向左滚动以使该字段对用户保持可见。好吧。

我不介意它向上滚动(因为我的表单下方的所有内容都被键盘隐藏)但我想防止视图向左滚动。

有没有办法(html页面中的标题或iOS代码)来防止这种行为?

谢谢

4

3 回答 3

2

不漂亮但有效:

如果您根本不希望您的 webView 滚动,您可以实现 UIWebView 的 UIScrollViewDelegate 并将 scrollViewDidScroll 上的 contentOffset 设置为 0

aWebView.scrollView.delegate = self

func scrollViewDidScroll(scrollView: UIScrollView) {
    scrollView.contentOffset = CGPointMake(0, 0)
}
于 2015-08-17T18:37:42.460 回答
1

我不知道如何完全防止滚动,但是如果您不介意一点抖动,可以将此处理程序添加到输入字段:

onfocus="setTimeout('window.scroll(0,0)',100)"
于 2012-04-24T19:43:18.753 回答
0

首先,您必须使用 捕获键盘的显示UIKeyboardWillShowNotification

然后将 UIScrollView(UIWebview 的)的 contentSize 宽度限制为屏幕宽度,这将确保屏幕不会水平滚动。

于 2012-04-24T18:09:49.297 回答