2016-06-01 203 views
0

我用swift創建了一個視差細節視圖。當用戶向下滾動時,希望允許導航欄顏色和標題顯示。當用戶向下滾動時顯示導航欄 - swift

像這個例子在詳細視圖。這是客觀的C,我無法弄清楚迅捷版本。我確信在適當的位置使用幾行代碼就足夠簡單了。

https://github.com/KMindeguia/movies/blob/master/README.md

我知道的導航欄有.hideswhenuserswips功能,但無法找到這樣的東西!

感謝

回答

0

如果你用故事板爲您的UINavigationController,你可以這樣設置set on storyboard

或者,你可以在你的代碼是這樣設置:

myNavigationController.hidesBarsOnSwipe = true 
0

您可以使用scrollview delegate方法顯示或隱藏導航欄。

您可以執行scrollViewDidScroll,scrollViewDidEndDeceleratingscrollViewWillBeginDecelerating

從這個委託方法你可以管理你的導航欄。

+0

感謝這樣我就可以設置navigationBar.hidden = false,但滾動的,但我怎麼會得到導航欄顯示時只有在頂部的視野不見了之後。 (就像我鏈接的例子) –

0

這個組件只是使用簡單的UIView和實現UIScrollViewDelegate方法。您可以將自定義視圖添加到父視圖頂部並隱藏它,實現UIScrollViewDelegate方法並跟蹤uiscrollview的一些contentOffset。就像從行此組件237
scrollDelegate methods

0

每個viewcontroller設置NavigationBar,如果您不會顯示navigationbar使用此代碼,

self.navigationController?.navigationBarHidden = true 

並表現出特別viewControllernavigationbar把這個下面的代碼,

self.navigationController?.navigationBarHidden = false 

這行代碼使用了你的方法,或者你用這個代碼,

override func viewWillAppear(animated: Bool) 
{ 
    super.viewWillAppear(animated) 
    self.navigationController?.navigationBarHidden = true 
} 

override func viewWillDisappear(animated: Bool) 
{ 
    super.viewWillDisappear(animated) 
    self.navigationController?.navigationBarHidden = false 
} 

滾動顯示您的導航欄看到這個鏈接Hide status bar while scrolling

希望它有幫助