【问题标题】:iPhone: keyboard blocks screen [duplicate]iPhone:键盘阻止屏幕[重复]
【发布时间】:2011-06-12 14:41:44
【问题描述】:

可能重复:
UITableView and keyboard scrolling issue

我有一个屏幕,其中包含几个文本字段 (UITextField),用于从用户那里收集信息,这些信息最终占据了屏幕的大部分。当用户选择一个字段时,软键盘会出现(如预期的那样),但它会覆盖出现在屏幕下方的字段。为了访问这些字段,用户必须关闭键盘并选择它们,这样做后,该字段再次被覆盖,用户无法看到他们正在输入的内容。

我尝试将文本字段包装在UIScrollView 中,希望当键盘占用屏幕上的空间时,我能够将屏幕的上部向下滚动到其他文本字段,但这不起作用.

我希望得到这种滚动行为。有人知道怎么做吗?

-TIA

【问题讨论】:

    标签: iphone ios interface-builder


    【解决方案1】:

    这是我在项目中使用的拖放框架,因为我经常遇到这个问题。它是 UIScrollView 的子类,支持不同的自动对焦模式和各种其他的点点滴滴。

    https://github.com/mackross/GTKeyboardHelper

    【讨论】:

      【解决方案2】:

      当键盘出现时,您需要调整滚动视图的高度,使其不重叠。请参阅编程指南中的Managing the Keyboard

      【讨论】:

      • 请参阅“移动位于键盘下方的内容”部分。它也有源代码
      【解决方案3】:

      有一个类似问题的好答案和一些示例代码here

      基本上,您注册接收UIKeyboardWillShowNotificationUIKeyboardWillHideNotification,然后手动滚动视图进行补偿。

      【讨论】:

      • 那是一篇很棒的文章,但不幸的是它侧重于 UITableView,而这不是我在这里使用的。我不确定如何将其调整为正常视图。
      • 我接受了这个答案,因为它是最详细的,但正是这个答案和 Brian 的答案帮助我弄清楚了该怎么做。
      猜你喜欢
      • 2020-05-11
      • 2011-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-09
      • 2012-02-04
      • 1970-01-01
      • 2015-07-20
      相关资源
      最近更新 更多