就我而言,我会将搜索栏文本限制为最多50个字符。所以我使用了 shouldChangeTextInRange
- (BOOL)searchBar:(UISearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
return [searchBar.text length] + [text length] - range.length >= 50);
}
但搜索栏文字超过50个字符时,不会调用 searchBarSearchButtonClicked 。
我该如何处理?
答案 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;