iPhone:键盘块屏幕

问题描述:

可能重复:
UITableView and keyboard scrolling issueiPhone:键盘块屏幕

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

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

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

-TIA

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

基本上,你注册接收UIKeyboardWillShowNotificationUIKeyboardWillHideNotification,然后你手动滚动视图来补偿。

+0

这是一个伟大的文章,但不幸的是它的重点的UITableView并且那不是我用在这里。我不知道我会如何适应正常的观点。 – mtmurdock 2011-01-21 17:57:11

+0

我已经接受了这个答案,因为它是最详细的答案,但它确实是这一个,Brian的答案帮助我弄清楚该怎么做。 – mtmurdock 2011-01-21 18:12:39

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

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

https://github.com/mackross/GTKeyboardHelper