【问题标题】:Make UINavigationBar transparent animated during transition在过渡期间使 UINavigationBar 透明动画
【发布时间】:2016-07-25 22:52:00
【问题描述】:

我可以使用这个代码做半透明的 UINavigationBar 透明:

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)

    navigationController!.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default)
    navigationController!.navigationBar.shadowImage = UIImage()
}

但是,如果您尝试这样做,您会发现在推送动画过渡期间效果不佳。导航栏在左侧屏幕完全消失之前立即变为透明。

但另一方面,如果你尝试这段代码......

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)

    navigationController!.setNavigationBarHidden(true: animated: animated)
}

...动画会很完美:导航栏只在右侧屏幕上消失,所以过渡动画看起来不错。

有没有办法让 UINavigationBar 像第一个 sn-p 一样透明,并像第二个 sn-p 一样具有动画效果?

【问题讨论】:

    标签: ios swift animation uinavigationcontroller uinavigationbar


    【解决方案1】:

    是的,您需要在代码中创建一个方法,该方法会延迟您的应用打开的秒数,例如:[self performSelector:@selector(delay) withObject:nil afterDelay:5.0];这将使您的应用程序打开时,5 秒后它将运行您在延迟方法中放置的所有内容。因此,当您希望 UINavigationBar 透明时,我会发现第二个或混乱,您可以轻松找到使 UINavigationBar 透明的代码,但我不知道它是否在我的脑海中。

    【讨论】:

      猜你喜欢
      • 2014-03-04
      • 1970-01-01
      • 2018-08-28
      • 1970-01-01
      • 1970-01-01
      • 2020-04-20
      • 2011-08-12
      • 2016-03-12
      • 1970-01-01
      相关资源
      最近更新 更多