2011-02-10 14 views
13

我想在我的UITableView的頂部有一個UISearchBar,當你向下滾動時,它隱藏了:答案很簡單,我只需要添加它在我的表視圖標題是這樣的:UITearchBar在UITableView的頂部,它可以隱藏但保持接近UINavigationBar

UISearchBar *search = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 320, 45)]; 
self.tableView.tableHeaderView = search; 
[search release]; 

但問題是,當你向上滾動的UISearchBar 適合的UITableView的頂部,而不是UINavigationBar的頂部。爲了更清楚我在郵件(不好)和遊戲中心(好)做了一個屏幕。

enter image description here

我想一樣的Game Center。你知道他們是怎麼做到的嗎?

回答

4

當您滾動tableview時,您將需要自己隱藏搜索欄。所以,不要把它作爲UITableView標題。您可以通過將其高度設置爲零來隱藏它。這樣,如果你的tableview被設置爲自動調整大小,它將會展開。

我會嘗試將UITableView和UISearchBar作爲另一個視圖中的同位體。 GameCenter圖像沒有搜索欄作爲表格視圖標題,而是將它們作爲單獨的子視圖。

你也可以看看UISearchDisplayController,但我認爲它不完全符合你想要的行爲。

編輯:This question基本上是你的問題,並在答案中有一些代碼。

+0

所以我們需要做的一切「手動」有沒有簡單的組件做到這一點? – 2011-02-11 09:10:45

+0

您可以在github或bitbucket上搜索周圍,看看是否有人創建了可以借閱的圖書館。否則,我認爲你必須用你自己的代碼來照顧它。 – Walter 2011-02-11 19:09:24

0

右側的UISearchBar在另一個UIView上,它不是UITableView的一部分。所以,你可以添加一個子視圖來放置UISearchBar,而另一個子視圖是用於UITableView的。

1

桌面標題會向下滾動。這是tableview的財產。 如果你想放置一個帶有導航欄的搜索條。爲什麼不把搜索欄放在導航欄的正下方呢?使用搜索欄和單獨的tableview。

相關問題