2010-03-31 75 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); 
}