2

我想在它旁边添加一个文本框和一个按钮。它们将位于窗口的底部。然后,当我触摸文本框(输入内容)时,键盘将出现,整行(带有文本框和按钮)向上滚动,键盘将位于它们的正下方。你能告诉我我该怎么做吗?

有没有示例程序?

谢谢。

4

2 回答 2

4

马特加拉格尔在他的博客上发布了这个:

滑动 UITextFields 以避开键盘

这是您想要的逐步示例。

于 2009-05-15T08:06:15.743 回答
3

在 XCode 文档iPhone 应用程序编程指南中有一个关于“移动位于键盘下方的内容”的部分,其中讨论了在键盘即将显示时接收键盘通知。那里有代码向您展示如何获取键盘大小(取决于方向)。我不会在这里重复。

您可以使用相同的技术来获取UIKeyboardWillShowNotification通知并获取键盘最终位置的高度。这为您提供了视图需要去的地方的底部边缘,有效地将其放在键盘上方。因此,只需将您的文本框和按钮放在视图中即可。当你收到通知时,告诉你的视图它需要去哪里(键盘高度+容器视图的高度),你就完成了。您还需要捕捉UIKeyboardWillHideNotification以将视图移回原来的位置,因此请跟踪原始容器视图位置。

它非常简单,而且看起来不错,尤其是如果您使用漂亮的 UIView 动画效果并将时间设置得恰到好处。

于 2009-05-15T01:36:26.070 回答