Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS从普通导航栏到透明栏的快速转换_Ios_Swift_Uinavigationcontroller_Uinavigationbar_Transition - Fatal编程技术网

iOS从普通导航栏到透明栏的快速转换

iOS从普通导航栏到透明栏的快速转换,ios,swift,uinavigationcontroller,uinavigationbar,transition,Ios,Swift,Uinavigationcontroller,Uinavigationbar,Transition,我在谷歌上搜索过类似的问题,但没有一个能真正解决这个问题。 我试图从一个带有普通导航栏的视图控制器推送到一个带有透明导航栏的新视图控制器。 这是我用来设置导航栏透明的第二视图控制器中的代码 self.navigationController?.navigationBar.setBackgroundImage(UIImage(),for:.默认值) self.navigationController?.navigationBar.shadowImage=UIImage() navigationCo

我在谷歌上搜索过类似的问题,但没有一个能真正解决这个问题。 我试图从一个带有普通导航栏的视图控制器推送到一个带有透明导航栏的新视图控制器。 这是我用来设置导航栏透明的第二视图控制器中的代码

self.navigationController?.navigationBar.setBackgroundImage(UIImage(),for:.默认值)
self.navigationController?.navigationBar.shadowImage=UIImage()
navigationController?.navigationBar.barTintColor=.clear
self.navigationController?.navigationBar.isTranslucent=true


如何在过渡期间在导航栏上不显示浅灰色的情况下实现平滑过渡?

您需要做的是创建一个自定义导航栏并使用它。看起来会好多了。我也遇到过类似的问题,唯一能帮我解决的就是创建自定义导航栏。转到情节提要并添加它:


我附上一个示例项目供您参考,所有内容都是通过故事板设置的,没有代码。希望有帮助


以下是项目实现的效果,在显示按钮的viewController上,导航栏是可见的,当单击按钮时,另一个viewController被推入视图,但导航栏在视图中完全隐藏。它仅在用户点击视图中的任何位置时出现。

我应该在哪里设置此导航栏?第一视图还是第二视图?我还应该做什么?我会在任何地方使用它,但是如果你只想,你可以把它设置在第二个视图上。我真的不知道该怎么办this@HoangTrung,我创建了一个自定义项目,展示了如何执行此操作。你可以下载它。谢谢你的示例代码。我试图为第二个VC设置透明条,按下时效果很好,但返回时,后退按钮没有按预期移动。您在哪里添加了使其透明的代码?在<代码>ViewDidDisplay或<代码>ViewWillDisplay中?我在viewDidLoad中设置了它,无论我在哪里设置,都会发生这种情况。您是否尝试将它添加到ViewDidDisplay中?此帖子可能会帮助您:@HoangTrung请立即检查。有个打字错误。我很抱歉。谢谢你的样品项目。但我想把导航栏保留在第二视图控制器上,而不是像那样隐藏它