美文网首页
iOS 隐藏导航栏和有导航栏页面跳转

iOS 隐藏导航栏和有导航栏页面跳转

作者: 欢乐的乐 | 来源:发表于2018-05-24 14:32 被阅读929次

    大部分首页或者搜索页面都会隐藏导航栏

    隐藏导航栏页面 --> 有导航栏页面

    但是,不知道大家有没有发现

    隐藏导航栏页面 -> 有导航栏页面,如果是侧滑返回上一个页面(隐藏导航栏页面)

    顶部的导航栏会黑或者各种不正常的现象。

    总结了一套思路可以解决这个问题:

    
    class ViewController: BaseViewController {
        
        // 判断显示隐藏导航栏是否需要动画
        var needAnimation: Bool = false
    
        override func viewDidLoad() {
            super.viewDidLoad()
    
        }
        
        override func viewWillAppear(_ animated: Bool) {
            super.viewWillAppear(animated)
            // 下面两种方法其实有点区别的,有空可以琢磨一下
            if needAnimation {
                // 隐藏导航栏有动画
                self.navigationController?.setNavigationBarHidden(true, animated: true)
            } else {
                // 隐藏导航栏没有动画
                self.navigationController?.isNavigationBarHidden = true
            }
        }
        
        override func viewDidAppear(_ animated: Bool) {
            super.viewDidAppear(animated)
            // 设置回初始值
            needAnimation = false
        }
        
        override func viewWillDisappear(_ animated: Bool) {
            super.viewWillDisappear(animated)
            // 显示导航栏
            self.navigationController?.setNavigationBarHidden(false, animated: true)
        }
        
        
        // 跳转到下一个页面
        func viewToSecond() {
            // 下一个页面返回当前页面,隐藏导航栏需要动画
            needAnimation = true
            let secondVC = self.storyboard?.instantiateViewController(withIdentifier: "SecondVC") as! SecondViewController
            self.navigationController?.pushViewController(secondVC, animated: true)
        }
    
    }
    
    
    
    
    

    有什么问题可以留言,最近在搞iOS,大家互相学习。


    好好学习,天天向上。<( ̄oo, ̄)/


    Potato_zero.jpg

    相关文章

      网友评论

          本文标题:iOS 隐藏导航栏和有导航栏页面跳转

          本文链接:https://www.haomeiwen.com/subject/mkhsjftx.html