2013-04-10 296 views
1

我的应用程序在其细节拆分中有两个文本字段。第一个文本字段将允许用户通过键盘输入数据,但第二个文本字段可以通过弹出窗口中的选择器输入数据。无论如何,当我按下使用弹出窗口的文本字段时,我想让键盘(在编辑第一个文本字段后出现)取消。我用resignFirstResponder和键盘保持原位,但它是禁用的,就像当我点击任何键盘键时什么都没有发生(即使关键键关闭键盘不起作用)。那么我怎样才能隐藏键盘?在iPad上隐藏键盘?

+0

难道你不以某种方式阻止主线程?发生这种情况时,请在调试器中暂停应用程序,看看发生了什么。 – Sulthan 2013-04-11 13:35:13

回答

0

你应该使用

[textField resignFirstResponder]; 

releaseFirstResponder(有没有这样的方法)

+1

releaseFirstResponder很可能会导致您的应用崩溃,这就是为什么您无法使用任何东西。 – rjstelling 2013-04-10 21:02:59

+0

对不起,这是一个错字!我确实使用了resignFirstResponder。 – HusseinB 2013-04-10 21:03:10

0

正如乔治说,你应该叫resignFirstResponder

但实际上你可能想看看使用textField的inputView属性,而不是在弹出窗口中使用pickerview。

你可以这样说: textfield.inputView = pickerview;

0

为什么你需要第二个UITextField?如果你不打算允许用户输入一些与使用键盘的UIButton(可能与定制设计),节目选择器上按下和更新按钮的文本上的变化选择器

-1

最简单的事情辞职反应

[self.view endEditing:YES]; 
+0

为什么downvote ?? – yunas 2013-10-29 22:01:12

+0

+1我真的不明白为什么这是downvoted,尤其是没有解释!来自docs的说明:'使视图(或其嵌入的文本字段之一)退出第一响应者状态。“如果您不关心哪个文本字段是第一响应者并且只是想隐藏键盘,则这是完美的。如果文本字段是已知的,那么最好是直接退出其状态,但这绝对是非常有效的! (尽管有OP的更新问题,这不是很有用)。 – Firo 2014-01-07 02:45:20