您可以使用: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 中添加一个内置的取消按钮。检查属性“Shows Cancel Button”(红色箭头突出显示)
编辑:
第 1 步:
有条件地检查您的 textField 的文本是否为空白?如果是这样,请为 TextField 指定 resignFirstResponder。您需要使用代码将 UITextField 的 Delegate 设置为 self:
txtField.delegate = self;
或者您可以通过将 TextField 的 delegate 连接到 File's Owner 从界面构建器中执行相同操作。
STEP-2:你需要实现这个委托方法。
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
if([textField.text isEqualToString:@""])
{
[textField resignFirstResponder];
}
return YES;
}
EDIT-1:
现在创建一个 UIToolbar,其中包含一个标记为“取消”的栏按钮
一旦你这样做了:
你可以为 UIToolBar 编写一个按钮点击事件:
-(IBAction)cancelClicked:(id)sender
{
[txtField resignFirstResponder];
}
一旦你完成了,你现在就可以写了:
txtField.inputAccessoryView = toolbarOutlet;
希望对你有所帮助。