2011-06-01 74 views
11

我想在ObjectiveC中有一个简单的SearchBar。使用UISearchBarUISearchBarDelegate令我困惑。我本可以使用UITextField,但它没有&的感觉。设计iOS搜索栏

如附图所示,我只需要与它关联的搜索栏没有UITableView。图像附有一个TableView,但你明白了。还有人在输入文字后进入searchBar &按“enter”如何检索文字?

enter image description here

更新:我知道这些链接,其讨论相同的,但他们更光使用表格。

http://blog.webscale.co.in/?p=228

http://ved-dimensions.blogspot.com/2009/02/iphone-development-adding-search-bar-in.html

How to implement search bar in iPhone?

UISearchBar Sample Code

UISearchBar in UITableViewController?

+0

检查http://stackoverflow.com/questions/6201406/how-to-custom-uisearchbar/6201490#6201490 – Jhaliya 2011-06-01 15:21:58

+0

什么是错的使用现有的UISearchBar和相关类? – 2011-06-01 15:22:57

+0

您不需要使用表格视图控制器! – 2011-06-01 15:35:14

回答

33

只是让你的视图控制器实现UISearchBarDelegate。在你的xib文件中,你需要做的只是添加一个UISearchBar到你的视图并根据需要进行配置,为它创建一个出口(可选,但有助于明确),并将代理插座分配给你的视图控制器。

然后,为了响应搜索栏事件,根据需要实施UISearchBarDelegate协议方法。例如:

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar { 
    [self handleSearch:searchBar]; 
} 

- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar { 
    [self handleSearch:searchBar]; 
} 

- (void)handleSearch:(UISearchBar *)searchBar { 
    NSLog(@"User searched for %@", searchBar.text); 
    [searchBar resignFirstResponder]; // if you want the keyboard to go away 
} 

- (void)searchBarCancelButtonClicked:(UISearchBar *) searchBar { 
    NSLog(@"User canceled search"); 
    [searchBar resignFirstResponder]; // if you want the keyboard to go away 
}