2015-03-02 76 views
0

我已經將搜索欄添加到UITableView(tblViewGallery)。我已經添加了searchBar tableHeader的UITableView(tblViewGallery)。因此添加搜索欄工作正常UITableView(tblViewGallery)。但是現在我想讓searchBar像「Game Center」searchBar一樣顯示。我想在第一次顯示tblViewGallery時隱藏SearchBar,當我們向下滾動tblViewGallery時,搜索欄會顯示,但它會鎖定UINavigationBar,如「Game Center」searchBar。我應該遵循什麼方法?我試圖用這個作爲我,如何在UITableView中添加搜索欄喜歡iOS中的遊戲中心?

[tblViewGallery scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:NO]; 

,當首先顯示我們tblViewGallery中號能夠隱藏搜索欄,當我滾動的tableView也出現向下的搜索欄,但它不是鎖定UINavigation酒吧。對於鎖定我曾嘗試下面的代碼中的UIScrollView的委託方法-(void)scrollViewDidScroll:(UIScrollView *)scrollView

CGRect rect = searchBar.frame; 
rect.origin.y = MIN(0, scrollView.contentOffset.y); 
searchBar.frame = rect; 
+2

你有什麼確切的問題? 「它沒有鎖定UINavigationBar」是什麼意思? – Stonz2 2015-03-02 14:27:00

+0

是的,它沒有鎖定像Game Center那樣的UINavigationBar,當我放置任何字母或字符進行搜索時,SearchBar也會自動隱藏。 – adi012 2015-03-02 14:34:01

+0

@ Stonz2,如何鎖定導航欄下方的搜索欄..... – adi012 2015-03-02 18:33:29

回答

1

如果我想你想的待辦事項是正確的,你想搜索欄滾動出來的觀點作爲用戶向下滾動,並且允許表格標題鎖定到導航欄的頂部。

基於此,我會做的是首先將您的UITableView風格設置爲。然後重寫viewForHeaderInSection方法爲每個組提供標題。標題將是一個帶有一些文本的簡單UIView。

然後,對於第一行而不是加載正常單元格,您可以在其中加載一個UITableViewCell子類,其中包含UISearchBar。然後在'viewForHeaderInSection'中爲第一組返回一個高度爲零的UIView子類。

這將使你在你的UITabeView頂部一個UISearchBar,它不會有一個頭,就滾出視圖爲用戶向下滾動,並且其他標題將鎖定到UINavigationBar時滾動作爲是默認行爲。

這有幫助嗎?