键盘隐藏的文本字段
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 文档包含您需要的所有代码
【讨论】:
以上是关于键盘隐藏的文本字段的主要内容,如果未能解决你的问题,请参考以下文章