现实开发中经常有这样的需求:
主页面是个图片,用户点击图片中某个按钮跳转页面,不希望主页面的导航栏碍事。
需求转化一下就是这样:
隐藏第一个页面的导航栏,展示第二个页面的导航栏,并且在导航过渡的时候展示顺畅的动画效果。


navigationController?.navigationBar.isHidden = true
但运行后发现,第二个页面的导航栏也没有了。
目前为止发现的最优雅的做法:
在第一个页面的viewWillAppear和viewWillDisappear生命周期函数里面各加上一句:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navigationController?.setNavigationBarHidden(true, animated: animated)
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
navigationController?.setNavigationBarHidden(false, animated: animated)
}
效果:

广告时间:
大家如果正好想学iOS开发的话,可以来看看小弟的iOS视频教程(永久更新+售后辅导): m.cctalk.com/inst/s9vfhe…