我使用resignFirstResponder
隱藏數字鍵盤,但它只能在某些時候躲在鍵盤:我實現backgroundTap
與[textField resignFirstResponder];
,並在後臺敲擊鍵盤確實隱藏了。我還在viewWillDisappear
中加入了這一行,但它在某些時候有效。當用戶回到他來自的窗口時,鍵盤消失。但是當他走到一個新窗口(不是他來自的那個窗口)時,鍵盤不會消失。我使用isFirstResponder
方法檢查了調試情況,並且在兩種情況下,文本字段確實不再是第一響應者(儘管在其中一種情況下鍵盤一直顯示,如上所述)。resignFirstResponder成功隱藏鍵盤只在某些情況下
的viewWillDisappear
的實施過程是這樣:
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[textField resignFirstResponder];
[self.view endEditing:YES];
}
我想隱藏在viewWillDisappear兩種情況下的鍵盤,因爲新的窗口沒有文本字段中,是有關這個鍵盤。它有完全不同的元素。
推送另一個視圖的事件不是按鈕單擊,而是編輯文本字段的開始。在我看來,我有三個文本字段,其中只有一個顯示鍵盤。另外兩個推動另一種觀點。這是textFieldDidBeginEditing的代碼:
-(void)textFieldDidBeginEditing:(UITextField *)textField{
if (textField1.editing == YES)
{
[self performSegueWithIdentifier:@"goToView1" sender:self];
}
else if (textField2.editing == YES)
{
[self performSegueWithIdentifier:@"goToView2" sender:self];
}
}
雖然生成鍵盤的文本字段是textField3。
有關如何使鍵盤在兩種情況下消失的一些想法?
你想要什麼正好? – Bhavin
我改變了問題的結尾,使其更加清晰。 – Tomer
爲什麼要將keyborad隱藏在'viewWillDisappear'中? –