iPhone:键盘屏幕

可能重复:
UITableView和键盘滚动问题

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

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

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

-TIA

这里有类似问题和一些示例代码的良好答案。

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

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

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

https://github.com/mackross/GTKeyboardHelper