ios - 显示键盘时如何决定滚动哪个 UIScrollView

标签 ios objective-c uiwebview uiscrollview

在我的 iOS 应用程序中,我有一个覆盖整个屏幕的常规 UIScrollView。它在顶部包含一个 UIView(带有一些标题图像、工具和其他内容),并且在下方包含一个填充了一些 Web 内容(博客条目和评论)的 UIWebView

当关注 WebView 的文本字段之一时,因此显示键盘, WebView 滚动以将输入字段放在键盘上方。问题是标题没有移开,从而覆盖了输入字段。

所以我的问题是;显示键盘时如何告诉代码滚动哪个 ScrollView ?似乎退回到某些默认行为,并滚动包含输入字段的 UIWebView。我想改为滚动父 UIScrollView

我尝试将 UIWebView 上的 .scrollEnabled 设置为 NO,但这并没有改变任何东西。 UIWebView 甚至不应该具有滚动功能,因为我设置了 UIWebView 的高度(以及 .contentSize 的主要 UIScrollView) 到其内容的高度,每次填充 WebView 时。

我怎样才能做到这一点?还是我必须手动进行滚动?

最佳答案

您应该注册键盘通知,我不知道它是否能解决问题,但请看这里:Apple doc about keyboard .
我这样你就可以用屏幕上的键盘滚动 ScrollView ,但我猜 webview 也会响应,因为它已经注册了键盘通知,也许你也可以重新滚动它来听这种通知。

关于ios - 显示键盘时如何决定滚动哪个 UIScrollView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16787428/

相关文章:

objective-c - 如何更改 IKImageBrowserView 的双击行为?

ios - 如何半屏和全屏播放 youtube 视频 (iOS 6,7)

ios - 作为开发人员越狱的后果

ios - 如何通过存储 "reply" block 在 iOS 应用程序和 WatchKit 扩展之间进行通信?

ios - UIScrollViewDelegate 未在自定义类中调用

ios - 台风 - 到处注入(inject)相同的实例

ios - 更改绑定(bind)到 MFMessageComposeViewController 中发送按钮的操作

ios - 检查 UIWebView 的 URL

android - 如何在混合应用程序中安全地创建登录系统(phonegap/cordova)

ios - UIWebView 并点击链接