【发布时间】:2010-10-26 09:02:01
【问题描述】:
我想在它旁边添加一个文本框和一个按钮。它们将位于窗口的底部。然后,当我触摸文本框(输入内容)时,键盘将出现,整行(带有文本框和按钮)向上滚动,键盘将位于它们的正下方。请告诉我该怎么做?
有示例程序吗?
谢谢。
【问题讨论】:
标签: iphone iphone-softkeyboard
我想在它旁边添加一个文本框和一个按钮。它们将位于窗口的底部。然后,当我触摸文本框(输入内容)时,键盘将出现,整行(带有文本框和按钮)向上滚动,键盘将位于它们的正下方。请告诉我该怎么做?
有示例程序吗?
谢谢。
【问题讨论】:
标签: iphone iphone-softkeyboard
【讨论】:
在 XCode 文档 iPhone Application Programming Guide 中,有一节关于“移动位于键盘下方的内容”,其中讨论了在键盘即将显示时接收键盘通知。那里有代码向您展示如何获取键盘大小(取决于方向)。此处不再赘述。
您可以使用相同的技术来获取UIKeyboardWillShowNotification 通知并获取键盘最终位置的高度。这为您提供了视图需要去的地方的底部边缘,有效地将其放在键盘上方。因此,只需将您的文本框和按钮放在视图中。当您收到通知时,告诉您的视图它需要去哪里(键盘高度 + 容器视图的高度),您就完成了。您还需要捕捉 UIKeyboardWillHideNotification 以将视图移回原来的位置,因此请跟踪原始容器视图位置。
它非常简单,而且看起来不错,尤其是如果您使用漂亮的 UIView 动画效果并将时间设置得恰到好处。
【讨论】: