2013-09-24 24 views
2

有誰知道是否有某個項目或某些內容複製了iOS應用程序的地址欄行爲?也就是說,當向下滾動時,它隱藏起來,如果我在表格中間,並且向上滾動,地址欄就會出現。如何複製Chrome應用程序的地址欄行爲

謝謝!

回答

0

大多數導航隱藏工作的方式是通過偵聽滾動/表格/ web視圖中的滾動事件並調整導航欄的中心。

你將使你的視圖控制器有問題的視圖的委託和應用邏輯的一些級別:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    CGFloat scrollOffset = scrollView.contentOffset.y; 
    CGPoint navigationBarCenter = self.navigationController.navigationBar.center; 

    // A bunch of calculations 
    navigationBarCenter.y = newlyCalculatedPosition; 

    self.navigationController.navigationBar.center = navigationBarCenter; 
} 

對於這個特定的行爲,他們從那裏開始滾動計算,並說「如果我向下滾動時,導航欄中心應該是其原始中心減去滾動距離,如果向上滾動,導航欄中心應該從剛剛關閉的屏幕增加到其正常位置。關於滾動結束時的操作以及導航欄部分顯示在屏幕上時的操作只是一部分?

在iOS7之前,您還必須擔心滾動視圖的框架。 iOS7的默認行爲是讓視圖控制器擴展到設備的全尺寸,而iOS6的默認行爲是填充導航欄和工具欄之間的空間。您可以通過使用半透明導航欄來解決此問題,但需要調整內容和滾動指示符插圖,以便在不滾動時將內容限制在內部區域。

+0

事情是我希望隱藏/顯示錶格標題或區段表格標題,而不是導航欄。我已經做了類似於你發佈的內容,檢查contentOffset和那些事情,但我只是想知道是否有一些github項目或一些tableview可重用代碼的行爲就像這樣。 謝謝 – miya

+0

我會非常小心地嘗試操縱表格標題和章節標題。 A)它們的位置是在內部仔細計算的,B)在調用滾動委託方法之後完成單元計算,因此您必須進行子類化。 –

相關問題