Daniels cevap mükemmel çalışır öz)
for (UIView *view in searchBar.subviews){
if ([view isKindOfClass: [UITextField class]]) {
UITextField *tf = (UITextField *)view;
tf.delegate = self;
break;
}
}
bu tetikleyici herhangi aramanızı gerçekleştirirken bu dizeyi "" için temsilci
- (void)searchBarCancelButtonClicked:(UISearchBar *) aSearchBar {
[aSearchBar resignFirstResponder];
}
-(BOOL)textFieldShouldClear:(UITextField *)textField
{
[self performSelector:@selector(searchBarCancelButtonClicked:) withObject:textField.superview afterDelay: 0.1];
return YES;
}
eklemenin şudur iOS 7'a kadar.
iOS 7 Güncelleme
- (void)searchBarTextDidBeginEditing:(UISearchBar *) bar
{
UITextField *searchBarTextField = nil;
NSArray *views = ([[[UIDevice currentDevice] systemVersion] floatValue] < 7.0f) ? bar.subviews : [[bar.subviews objectAtIndex:0] subviews];
for (UIView *subview in views)
{
if ([subview isKindOfClass:[UITextField class]])
{
searchBarTextField = (UITextField *)subview;
break;
}
}
searchBarTextField.enablesReturnKeyAutomatically = NO;
}
Neden hiçbir şey aramak istersin? – BoltClock
boş bir arama dizesi her şeyi döndürdüğü için ... arama bir filtreye benziyor ... – Markus