[英]resignFirstResponder for UITextField with search returnkey
一個簡單的問題:如果我的“完成”鍵是“搜索”,如何才能退出文本字段。 本質上,如果用戶不想搜索,而是想取消...該怎么辦...
謝謝
您可以使用:SearchBar的取消按鈕,並且需要實現此SearchBar delegate
:
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
{
isSearching = NO; //This is a flag which specifies if searching is going on or not.
searchBar.text = @""; //Clears out search bar text
[self resetSearch]; //Reset search resets all the flags and variables.
[self.leadsTable reloadData]; //Reloads the tableView
[searchBar resignFirstResponder]; //Resigns responder from Search bar
}
如果用戶不想搜索,這是一種辭職響應者的正確方法。
看一下如何在UISearchBar中添加內置的“取消”按鈕。 檢查屬性“ 顯示取消按鈕 ”(紅色箭頭突出顯示)
編輯:
步驟1:有條件地檢查您的textField文本是否為空白? 如果是這樣,請為TextField重新簽名FirstResponder。 您需要委派設置為self
為的UITextField使用代碼:
txtField.delegate = self;
或者,您可以通過將TextField的delegate
連接到File's Owner
從界面構建器中執行相同的操作。
步驟2:您需要實現此委托方法。
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
if([textField.text isEqualToString:@""])
{
[textField resignFirstResponder];
}
return YES;
}
編輯1:
現在,用一個標記為“取消”的條形按鈕創建一個UIToolbar
完成此操作后:
您可以為UIToolBar編寫按鈕單擊事件:
-(IBAction)cancelClicked:(id)sender
{
[txtField resignFirstResponder];
}
完成后,您現在可以編寫:
txtField.inputAccessoryView = toolbarOutlet;
希望這對您有所幫助。
返回按鈕上的文字與討論無關。 您想知道如何在不按返回鍵的情況下辭職第一響應者,並且有幾種方法可以做到這一點。
inputAccessoryView
在鍵盤上方的工具欄中顯示一個單獨的取消按鈕。 [self.view endEditing:YES]
(其中self
是您的視圖控制器)。 這將導致第一響應者辭職。 (這在滾動視圖中非常挑剔。) UINavigationBar
,則在編輯時將當前視圖控制器的rightBarButtonItem
交換為取消欄按鈕項。 編輯結束后,請換回常規的右欄按鈕項(如果有)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.