我有一个屏幕,其中有几个文本字段(UITextField
),用于从用户收集信息,最终占用大部分屏幕。当用户选择一个字段时,软键盘会出现(如预期的那样),但它会掩盖屏幕下方显示的字段。为了进入这些字段,用户必须关闭键盘并选择它们,这样,字段再次被掩盖,用户无法看到他们正在键入的内容。
我尝试将文本字段包装在UIScrollView
中,希望当键盘占用屏幕上的空间时,我可以将屏幕的uppper部分向下滚动到其他文本字段,但这样做了不行。
我希望得到这种滚动行为。有谁知道怎么做?
-TIA
答案 0 :(得分:9)
当键盘出现时,您需要调整滚动视图的高度,使其不重叠。请参阅编程指南中的Managing the Keyboard。
答案 1 :(得分:4)
对类似问题和一些示例代码here有一个很好的答案。
基本上,您注册接收UIKeyboardWillShowNotification
和UIKeyboardWillHideNotification
,然后手动滚动视图进行补偿。
答案 2 :(得分:2)
这是我在项目中使用的拖放框架,因为我经常遇到这个问题。它是一个UIScrollView子类,支持不同的自动对焦模式和各种其他位和bobs。