【问题标题】:Swift - Transition NavigationBarSwift - 过渡导航栏
【发布时间】:2018-10-29 05:57:13
【问题描述】:

我正在尝试编写 2 个具有不同导航栏方面的 ViewController。

主 VC 有一个红色的 NavigationBar,我希望第二个是白色的。

我尝试在我的第一个 ViewController 上使用 viewWillAppear() 和 viewWillDisappear() 但结果不是很好...

override func viewWillAppear(_ animated: Bool) {
  UIApplication.shared.statusBarView?.backgroundColor = smoothRed
  navigationController?.navigationBar.barTintColor = smoothRed    
  UIApplication.shared.statusBarStyle = .lightContent
}

override func viewWillDisappear(_ animated: Bool) {
  UIApplication.shared.statusBarView?.backgroundColor = UIColor.white
  UIApplication.shared.statusBarStyle = .default
  navigationController?.navigationBar.barTintColor = .white
}

过渡很丑……

我想要这样的东西:

你知道我该怎么做吗?

【问题讨论】:

    标签: ios swift swift3 uinavigationcontroller uinavigationbar


    【解决方案1】:

    请尝试在推送视图控制器时像这样为false 设置动画:

        let vc = storyboard?.instantiateViewController(withIdentifier: "second")
        self.navigationController?.pushViewController(vc!, animated: false)
    

    【讨论】:

    • 我想保留过渡效果(如第二张图片所示)
    【解决方案2】:

    Laura,在故事板中,您是否将导航控制器作为嵌入添加到您的控制器中?

    如果没有,请尝试。然后,在你看来确实加载了,你可以做self.navigationController.backgroundColor = UIColor.red

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-26
      • 1970-01-01
      • 1970-01-01
      • 2017-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-15
      相关资源
      最近更新 更多