2010-03-31 74 views
6

我有视图控制器,进入视图我已经把一个表视图,和一个搜索栏到表头...搜索栏不显示,只是空表视图。UISearchBar没有出现

我需要额外做些什么吗?我敢肯定,它与view出口的UIViewController,设置为View做...

感谢

回答

-1

使用带有控制器一个UISearchBar固定。

8

对于任何可能在这个问题上登陆的人,我遇到了一个非常类似的情况,那就是UITableViewController中添加了UISearchBar而没有显示。如果在这种情况下发现自己,仔细检查你实际上是在呼吁:

initWithNibName:@"MyNibName" bundle:nil 

,而不是初始化的普通表视图初始化的视图控制器:

initWithStyle:UITableViewStylePlain 

我愚蠢地将该搜索然后用init样式加载它(它完全跳过笔尖并从头开始加载表格视图)

+0

这帮助我经过零到initWithNibName,通常工作,但对于UITableViewControllers它似乎没有。 – 2011-07-08 16:41:05

0

如果您将视图控制器设置为tabbar控制器的一部分,除了“Class”属性之外IB设置“NIB名称”属性。我花了几个小时才弄明白。

2

尝试将tableView的tableHeaderView设置为您的searchBar。

self.tableView.tableHeaderView = searchBar; 

如果您使用的是IB,请务必连接插座以便它被引用。

2

试试这个,L它的工作对我来说:

- (void)viewDidAppear:(BOOL)animated { 
    [super viewDidAppear:animated]; 
    self.tableView.tableHeaderView = _searchBar; 
    [_searchBar becomeFirstResponder]; 
} 

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar { 
    [_searchBar resignFirstResponder]; 
    self.tableView.tableHeaderView = _searchBar; 
} 

-(void) scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    searchBar.frame = CGRectMake(0,MAX(0,scrollView.contentOffset.y),320,44); 
}