繁体   English   中英

在转换期间使UINavigationBar透明动画

[英]Make UINavigationBar transparent animated during transition

我可以使用以下代码做半透明的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透明,就像在第一个片段中那样具有动画效果,就像在第二个片段中一样?

是的,您需要在代码中创建一个方法,这会延迟您的应用程序打开多少秒,例如:[self performSelector:@selector(delay)withObject:nil afterDelay:5.0]; 这会在你的应用程序打开时生成,5秒后它将运行你在延迟方法中放置的所有内容。 所以,当你想让UINavigationBar变得透明时,我会找到第二个或乱七八糟的东西,你可以很容易地找到使UINavigationBar透明的代码,但我不知道它在我的头脑中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM