UISearchBar:未调用searchBarSearchButtonClicked委托

时间:2015-10-30 16:13:28

标签: ios objective-c uisearchbar

就我而言,我会将搜索栏文本限制为最多50个字符。所以我使用了 shouldChangeTextInRange

- (BOOL)searchBar:(UISearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
return [searchBar.text length] + [text length] - range.length >= 50);
}

但搜索栏文字超过50个字符时,不会调用 searchBarSearchButtonClicked

我该如何处理?

1 个答案:

答案 0 :(得分:2)

喜欢

- (BOOL)searchBar:(UISearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
   return ([searchBar.text length] + [text length] - range.length > 50) ? NO : YES;
}

修改

- (BOOL)searchBar:(UISearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
   return ([searchBar.text length] + [text length] - range.length <= 50);
}

同时检查

1.您需要在视图控制器中实现UISearchBarDelegate协议。

@interface ViewController : UIViewController <UISearchBarDelegate>

2。您需要分配代理

searchBar.delegate = self;

其他reference