我看了一下這個問題,在屏幕鍵盤拒絕當你調用resignFirstResponder
隱藏這麼多的文章,但沒有任何建議爲我工作。
我正在使用XCode 5(iOS 7)並且有一個iPhone屏幕包含需要屏幕鍵盤的幾個控件,但是如果用戶單擊了UIButton
,那麼我希望鍵盤消失。
我大概浪費了一整天與resignFirstResponder
試驗和增加disablesAutomaticKeyboardDismissal
函數返回NO,但毫無效果。一旦屏幕鍵盤出現,我再也無法讓它消失。
但後來我有一個小腦波(因爲我只有一個小腦袋)。
現在,當用戶點擊我的UIButton
,我只是禁用的UITextField
和UITextView
控制。
- (IBAction)btnDate_Tapped:(id)sender {
// The user has clicked on the "Date" button.
self.tbClientName.enabled = NO;
self.tbComments.editable = NO;
突然之間,應用發現它沒有任何可編輯的文本字段需要一個屏幕上的鍵盤,它巧妙地滑過鍵盤淡出人們的視線。
(緩解嘆息。)
我的UIButton
實際上會彈出一個對話框。當用戶關閉彈出窗口時,我重新啓用這兩個控件,因此如果用戶點擊其中一個控件,鍵盤將再次出現。
-(void)popoverControllerDidDismissPopover:(UIPopoverController *) popoverController {
// The user has closed our popup dialog.
// We need to make our UITextField and UITextView editable again.
self.tbClientName.enabled = YES;
self.tbComments.editable = YES;
... etc...
}
簡單,不是嗎!
令人驚訝的是,這種解決方法甚至適用於UIViewControllers
,它們出現在模式樣式中。
我希望這可以幫助其他XCode受害者。
你試過沒有返回?返回YES可能會導致文本字段運行一些代碼,從而使其再次成爲第一響應者。 – rickharrison 2010-06-26 22:38:10
是的,我做了,它沒有改變。但重點似乎從字段中刪除,右側的(X)清除字段內容不再顯示後resignFirstResponder – favo 2010-06-27 07:22:47
我在iPad上遇到同樣的問題 – 2010-09-01 20:08:55