2013-04-10 206 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