快速浏览头文件后,它看起来像你想要完成的事情并不是他们想要使用的UISearchBar。为了得到你想要的东西,你可能需要使用一个普通的文本字段而没有所有的搜索条件。
这就是说,我有一个主要工作的黑客。它在不使用时使用虚拟字符串填充搜索栏。当你输入你的第一个字符时,在搜索按钮被禁用的地方会有一秒钟的时间。但在大多数情况下,它可以让你想要的东西:
NSString *kDummyString = @" ";
@implementation CDViewController
- (void)viewDidLoad
{
[super viewDidLoad];
self.searchBar.searchBarStyle = UISearchBarStyleMinimal;
self.searchBar.text = kDummyString;
}
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
if (searchText.length < 1) {
searchBar.text = kDummyString;
}
}
- (BOOL)searchBar:(UISearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
BOOL isPreviousTextDummyString = [searchBar.text isEqualToString:kDummyString];
BOOL isNewTextDummyString = [text isEqualToString:kDummyString];
if (isPreviousTextDummyString && !isNewTextDummyString && text.length > 0) {
searchBar.text = @"";
}
return YES;
}
@end
它确实有效,但似乎searchDisplayController由于某种原因不显示单元格。 –
for searchDisplayController,我要添加这个http://stackoverflow.com/a/16771901/1537178 –