快速瀏覽頭文件後,它看起來像你想要完成的事情並不是他們想要使用的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 –