searchBarSearchButtonClicked не работает вместе с shouldChangeTextInRange
У меня есть следующий метод делегата UISearchBar, который работает сам по себе (он вызывается, когда он один).
-(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar{
[self downloadFruits:searchBar.text];
[self.view endEditing:YES];
}
Когда я добавил другой метод делегата UISearchBar, предыдущий перестал работать (он больше не вызывается).
#define CHARACTERS @"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz _-."
#define CHARACTERS_NUMBERS [CHARACTERS stringByAppendingString:@"1234567890"]
-(BOOL)searchBar:(UISearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{
NSCharacterSet *unacceptedInput =
[[NSCharacterSet characterSetWithCharactersInString:CHARACTERS_NUMBERS] invertedSet];
// If array has more than one entry, there was at least one unacceptable character
if ([[text componentsSeparatedByCharactersInSet:unacceptedInput] count] > 1)
return NO;
else
return YES;
}
Каждый из них хорошо работает в одиночку, но вместе первый (кнопка поиска) не называется
2 ответа
Решение
Я думаю, вы должны добавить \n к CHARACTERS
#define CHARACTERS @"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz _-.\n"
Я думаю, что Второй метод всегда вернется NO
вот и первый не называется