UISearchBarデリゲートを実装しようとしています
-(BOOL)searchBar:(UISearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)string{
NSCharacterSet *set = [[NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzQWERTYUIOPLKJHGFDSAZXCVBNM0123456789!@#$%^&*()_+./?'\"\\*- "] invertedSet];
const char * _char = [string cStringUsingEncoding:NSUTF8StringEncoding];
string = [[string componentsSeparatedByCharactersInSet:set] componentsJoinedByString:@""];
int isBackSpace = strcmp(_char, "\b");
if((string!=nil && ![string isEqualToString:@""]) || isBackSpace == -8)
{
return YES;
}
return NO;
}
および検索ボタンがクリックされた場合
-(void) searchBarSearchButtonClicked:(UISearchBar *)searchBarSender{[mySearchBar resignFirstResponder];
}
ただし、searchBarSearchButtonClickedデリゲートは起動されません。
shouldChangeTextInRangeを削除してみましたが、呼び出されています。私は何を間違っていますか?