有一個AddEntryViewController(模式segue),並且想要通過從textField到控制器的控件單擊來關閉鍵盤。無法關閉Interface Builder中的鍵盤,因爲視圖控制器不會顯示doneEditing:
問題是,當我到達ViewController時,而不是顯示doneEditing:在HUD中,它只顯示不同的segue選擇。
爲什麼要這樣做,我如何才能在HUD中顯示正確的信息?
有一個AddEntryViewController(模式segue),並且想要通過從textField到控制器的控件單擊來關閉鍵盤。無法關閉Interface Builder中的鍵盤,因爲視圖控制器不會顯示doneEditing:
問題是,當我到達ViewController時,而不是顯示doneEditing:在HUD中,它只顯示不同的segue選擇。
爲什麼要這樣做,我如何才能在HUD中顯示正確的信息?
假設您在iOS中使用UITextField,它不會調用稱爲doneEditing的操作。
事實上,它不會發送任何操作,也不會觸發segue。因此,Interface Builder假定您想從當前視圖控制器創建一個segue到另一個視圖控制器。
您必須通過實施textfieldShouldReturn委託方法來關閉文本字段的鍵盤。在其中,您可以要求文本字段取消其第一個響應者狀態,這將使鍵盤消失。這個截屏詳細解釋:http://pinkstone.co.uk/how-to-dismiss-the-keyboard-from-a-uitextfield-in-ios/
如果你只想儘快視圖駁回駁回鍵盤,實現它在viewWillDisappear:
- (void)viewWillDisappear:(BOOL)animated {
[self.yourTextfield resignFirstResponder];
[super viewWillDisappear:animated];
}