UIWebView 被键盘隐藏

Posted

技术标签:

【中文标题】UIWebView 被键盘隐藏【英文标题】:UIWebView hidden by keyboard 【发布时间】:2013-06-10 14:38:24 【问题描述】:

我有 iPad 应用程序,其中包含视图和 uiwebview。它位于底部,尺寸小于键盘(例如 300x200)。在 webview 中是加载了表单的页面。 当我点击某个文本字段时,键盘会弹出并隐藏整个 uiwebview。使用 ios 模拟器和慢速动画模式,我可以看到,webview 是滚动的,但是当它小于键盘和底部时,它是无用的。 Webview 被键盘覆盖。

我已经掌握了通过键盘根据managing keyboard documentation 移动隐藏内容,但是当我设置scrollview 偏移量时,webview 仍然会滚动并滚动文本输入。无法设置webview 偏移量。 我还在UIWebView 类参考重要说明中发现将webview 嵌入scrollview 将无法正常工作。

在我看来,我遇到了简单的问题,但在 Internet 上没有解决方案。那么我是第一个想让uiwebview 小于全屏的人吗?拥有小的uiwebview 是否正确? UIWebView被键盘隐藏了怎么办?

感谢您的任何注释和建议。

【问题讨论】:

我已经尝试更改视图框架,以便在键盘弹出时它会向上移动。我不喜欢这个解决方案,因为你必须关闭键盘才能查看或点击顶部的东西。我正在寻找滚动内容,以便用户可以滚动并查看或点击屏幕上部的内容。 【参考方案1】:

你可以在 webView 滚动时隐藏键盘,试试这个:

self.webView.scrollView.keyboardDismissMode =UIScrollViewKeyboardDismissModeOnDrag;

【讨论】:

【参考方案2】:

我会做的是键盘通知。您可以使用 UIView 类提供的方法向上滚动视图,此链接应该对您有很大帮助。

Keyboard Hiding Screen

【讨论】:

谢谢你的想法。我试过这个。对不起,我忘了在问题信息中提到它。我对结果不满意。这样,您只需向上移动屏幕,就无法点击屏幕外的任何内容。 为什么不将webview的初始大小设置为全屏,并在显示您正在使用键盘的方法中,设置webview的大小,这样您就可以滚动它可以点击屏幕外的东西 我不确定你的意思。如果我将 webview 设置为全屏或全屏的高度,它下面的其他 webview 将被隐藏。

以上是关于UIWebView 被键盘隐藏的主要内容,如果未能解决你的问题,请参考以下文章

当用户单击 UIWebView 内的文本字段时,出现键盘后屏幕不会向上移动

调整键盘大小时的 UIWebView 问题

专注于输入字段时停止 uiwebview 网页内容的自动调整大小

在 UIWebView 中隐藏 sharedmenucontroller 中的额外项目

iOS - UIWebview - 3G 上的评论被剥离

键盘出现后 UIWebView 自动上移