2012-10-21 61 views
2

如何可以根據一個UITableView滾動我滾動我UINavigationBar的,我的意思是:UITableView的滾動UINavigationBar的

  • 當用戶滾動的UITableView下來,UINavigationBar的應與UITableView的滾動而消失;
  • 當用戶向上滾動UITableView時,UINavigationBar應該保持固定在視圖的頂部。

我想這個question但不是一個UISearchBar我需要做一個UINavigationBar的同樣的效果類似的效果,我已經嘗試過的代碼從link.Please任何一段代碼或將源代碼不勝感激。

在此先感謝。

+0

'UINavigationBar'是否由'UINavigationController'提供?如果是這樣[UINavigationController](http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationController_Class/Reference/Reference.html)的文檔聲明,您絕不能更改導航欄框架或邊界 –

+0

它是一個新的UINavigationBar。問題是如何?當用戶滾動UITableView但它沒有工作時,我已經試圖使UINavigationBar框架靜態。 – Mateus

+1

爲了使它保持靜態執行'scrollViewDidScroll:'在作爲tableViewDelegate的對象上,然後更改那個導航欄的框架 –

回答

0

我會通過隱藏ViewControllernavigationBar並添加假UINavigationBartableView的第一部分的標題做到這一點。

+0

我已經想到了,但我怎麼能使UINavigationBar靜態時,用戶是在UITableView的頂部,仍然滾動?檢查我提供的鏈接中的圖像。 – Mateus

+0

嗯......我明白你的觀點。可能地,而不是隱藏導航欄,您可以訪問UITableViewController的scrollView委託方法,並起訴滾動視圖的偏移量以調整UINavigationBar的框架(或中心點)。這樣,您可以根據需要將其向上移動,但不能將其向下移動到正常位置以下。我從來沒有嘗試過這個。 – Fogmeister

2

您可以結算this library的代碼。它的行爲有點不同(它模仿Chrome ios7應用程序),但您可以輕鬆地重新處理導航欄以適應您的需求。