iPhone:滚动网页视图时需要保持键盘向上吗?

Posted

技术标签:

【中文标题】iPhone:滚动网页视图时需要保持键盘向上吗?【英文标题】:iPhone:Need to keep the keyboard up while scrolling the webview? 【发布时间】:2009-10-26 09:09:36 【问题描述】:

我有一个应用程序,其中半屏显示网站,半屏将被键盘覆盖(不是 webview 的默认键盘)。键盘有一个文本字段,用户可以写入文本字段并发送到网页(我在那里使用了 javascript)。

现在我需要在用户键入并将文本发送到 webview 时保持键盘处于打开状态......但是当用户通过触摸滚动 webview 时......键盘隐藏了。我尝试了keyBoarWillHide方法让键盘成为firstresponder....但没有结果。

滚动网页视图时不会隐藏键盘的任何想法?

【问题讨论】:

【参考方案1】:

您说您没有使用默认键盘,所以这意味着您创建了键盘? 如果是这种情况,那么您应该能够100%控制它

如果您只是在默认键盘上放置一些图层或视图,我没有太多想法。

问题是,当 UITextField UITextView(或某些可输入文本的 UI 对象)之类的东西成为第一响应者时,键盘就会出现。然后,如果第一响应者对象不是文本输入,键盘将隐藏。 因此,当您触摸 UIWebView 对象时,它会成为第一响应者,并且由于不可输入文本,因此键盘会隐藏。

我不知道你写了类似的东西会发生什么 [webview canBecomeFirstResponder:NO]; 理论上这应该有效。

【讨论】:

实际上我的意思是 UIWEBVIEW 有一个默认键盘用于 webviews 文本字段,包括下一个/上一个/完成按钮,我没有使用“那个”键盘。我使用的普通键盘有一个文本字段作为子视图。现在,当用户还能够滚动 webview 时,我想保持文本字段始终是第一响应者(这意味着向上)。我使用了 canbecomefirsrresponder 但没有运气......请帮助......【参考方案2】:

您可以通过向 - (BOOL)resignFirstResponder 返回 NO 来保持第一响应者的身份 - 但请注意这可能会对您的 UI 产生影响,没有什么比在您继续前进之前跳过程序员的圈子更烦人的了。

【讨论】:

以上是关于iPhone:滚动网页视图时需要保持键盘向上吗?的主要内容,如果未能解决你的问题,请参考以下文章

滚动视图 iPhone 内的文本字段

向上推键盘 Swift iOS 后,我的 Scrollview 不会一直向上滚动

键盘出现多次时,滚动视图不会向上移动

Swift:当键盘显示时向上滚动视图

向上滚动表格视图并将表格视图保持在完整的滚动视图中

向上滚动时保持 UICollectionView 中的滚动位置