键盘隐藏的文本字段

Posted

技术标签:

【中文标题】键盘隐藏的文本字段【英文标题】:Textfield hidden by keyboard 【发布时间】:2012-12-27 09:37:58 【问题描述】:

我有几个textfield,在可见时会被键盘遮挡。我想当键盘可见时我需要向上移动视图。如何检测到这一点?

【问题讨论】:

看这个帖子***.com/questions/5965580/… @Kalpesh 你的代码应该做什么?如果您打算提供帮助,请提供描述,而不仅仅是我作为新手理解的代码。 看看这个solution 【参考方案1】:

检查 ios 文本、Web 和编辑编程指南中的 Managing the Keyboard - Receiving Keyboard Notifications 部分:http://developer.apple.com/library/ios/#documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/KeyboardManagement/KeyboardManagement.html

When the keyboard is shown or hidden, iOS sends out the following notifications to any registered observers:

UIKeyboardWillShowNotification UIKeyboardDidShowNotification UIKeyboardWillHideNotification UIKeyboardDidHideNotification

【讨论】:

【参考方案2】:

也许您正在寻找this 来检测键盘何时在可编辑的文本字段上可见。

【讨论】:

如果以编程方式创建,您将需要在 xib 或代码中设置您的文本字段委托,然后实现 didBeginEditing 委托。每次您的文本字段开始编辑时,它都会触发。然后,您可以检查键盘隐藏了哪些文本字段,并适当地向上移动容器视图。 宾果游戏!代表就是我要找的。我现在可以处理所有模糊键盘的视图移动。谢谢。 如何适当地向上移动容器视图?【参考方案3】:

我认为你是 iOS 新手。

我认为您的视图包含 5 - 10 个文本字段,并且使用将一一输入文本。

如果这是您的情况,请将所有文本字段放在 uiscrollview 中,以便您可以在需要时向上滚动。

这是所有程序员都遵循的正常方法。

如果这是您的情况,请告诉我,我可以给您一些示例链接。

【讨论】:

你用过工具栏和下一个上一个按钮吗? 是的,因为你没有使用 uiscrollview。所以你必须有一些上下移动的方式,带有下一个上一个按钮的工具栏可以为你提供。请参阅此工具栏示例nwmobiledev.com/… 老实说,我认为这是很多额外的工作。我正在寻找一种更简单的方法来自动检测文本字段的编辑模式。 是的,您可以检测到非常简单的编辑模式,就像凯文所说的那样。如果您有更多的文本字段,那么当您编辑文本字段并且下一个文本字段隐藏在键盘下时,就会出现问题。【参考方案4】:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.35f]; 
CGRect frame = self.view.frame; 
frame.origin.y = -60; 
[self.view setFrame:frame]; 
[UIView commitAnimations];
[textField resignFirstResponder];

如果您希望将视图设置在与以前相同的位置,您可以使用此代码上下移动视图,然后您可以使用相同的代码

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.35f]; 
CGRect frame = self.view.frame; 
frame.origin.y = 0; 
[self.view setFrame:frame]; 
[UIView commitAnimations];
[textField resignFirstResponder];

但是 y 的值不同,您可以使用 frame.origin.y 并相应地调整它..

【讨论】:

【参考方案5】:

This 文档包含您需要的所有代码

【讨论】:

以上是关于键盘隐藏的文本字段的主要内容,如果未能解决你的问题,请参考以下文章

在键盘隐藏的颤动页面文本字段中

iPhone - 键盘隐藏文本字段

如何显示被虚拟键盘隐藏的文本字段?

键盘隐藏另一个视图的文本字段动画

隐藏键盘返回按钮

隐藏在键盘颤动下的文本字段