键盘出现时阻止UIWebView滚动

时间:2012-04-24 17:19:45

标签: ios uiwebview

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

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

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

是否有办法(html页面或iOS代码中的标题)来阻止此行为?

由于

3 个答案:

答案 0 :(得分:1)

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

onfocus="setTimeout('window.scroll(0,0)',100)"

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

不漂亮但有效:

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

aWebView.scrollView.delegate = self

func scrollViewDidScroll(scrollView: UIScrollView) {
    scrollView.contentOffset = CGPointMake(0, 0)
}