一起工作我有以下UISearchBar委託方法,它自己的作品(它是獨立時調用)。searchBarSearchButtonClicked與shouldChangeTextInRange
-(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;
}
他們每個人都工作得很好獨自但在一起的第一個(搜索按鈕)不叫
這很奇怪。我覺得這兩個不應該互相干擾(一個是按鈕點擊,另一個是文本替換),但只是爲了安全起見,您可以嘗試從shouldChangeTextInRange返回YES並告訴我們結果(然後與之相同返回NO) – 2013-02-26 18:05:34