Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
217 views
in Technique[技术] by (71.8m points)

ios - Hide navigation bar on scroll

I wonder if its OK by iOS Human Interface Guidelines to style a UIView so it looks and acts like a navbar.

My problem is that I want to hide my current navbar once the user scrolls. I have tried both self.navigationController?.setNavigationBarHidden(true, animated: true) and navigationController?.hidesBarsOnSwipe = true but the animation looks odd, once the navigation bar gets hidden I still have about 20px space under the status bar: You can look at my other question

So to make things easier, can I just init my view tih the navbar hidden and style my own and add the proper animation?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Try this out :

extension YourViewController {
   override func prefersStatusBarHidden() -> Bool {
      return barsHidden // Custom property
   }

   override func preferredStatusBarUpdateAnimation() -> UIStatusBarAnimation {
      return .Slide
   }
}

You have to update barsHidden somewhere in the code and call setNeedsStatusBarAppearanceUpdate() method.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...