iOS7中是否需要resignFirstResponder来隐藏键盘?

时间:2014-04-19 04:24:57

标签: objective-c ios7 uitextfield

使用,#34;退出时退出"需要使用这种语法。 UITextField的行动:

[self.myTextField resignFirstResponder];

至少在Xcocde 5的模拟器中,似乎不再需要该代码。按下返回按钮时键盘将隐藏,并且没有附加相关操作。这是正确的还是仅仅是模拟器的行为?

我想iOS6仍然需要这段代码吗?

2 个答案:

答案 0 :(得分:2)

实际上,你的问题的前提是错误的。除了你发现真相之外,什么都没有改变。如果文本字段的目标是“退出时确实结束”操作,那么永远必须说resignFirstResponder:目标的事实导致(并且仍然导致)返回键执行解雇自动

事实上,“退出时确实结束”行动实际上并不需要任何事情; no 需要实现相应的方法。目标不一定是真实的对象;它可以是零。换句话说,当按下Return键时,此代码将赋予任何文本字段“魔法”属性自动解除键盘

[textField addTarget:nil action:@selector(dummy:)
    forControlEvents:UIControlEventEditingDidEndOnExit];

这是有效的(并且早在我使用iOS时就已经工作,即iOS 3),即使目标是nil并且动作方法从未在任何地方实现(在该方法中没有dummy:方法应用程序)。令我惊讶的是,这项重要技术并未广为人知。

答案 1 :(得分:0)

你仍然需要它。要关闭键盘,我会执行一个名为“关闭键盘”的操作,并将其连接到我的文本字段或文本视图。这是代码......

-(IBAction)closeKeyboard {

[textfield1 resignFirstResponder];

}