在我的第一页中,导航栏应该是透明的,当推送到下一页时,导航栏应该是图像。我通过更改_UIBarBackground
或_UINavigationBarBackground
的alpha来解决问题。
但我遇到了一个大问题,在第一页中,视图应放置并从(0,0)绘制,因此我将导航栏的isTranslucent
设置为true
,一切正常。但是当我进入下一页时,背景图像显示出半透明的外观,我不想要。
顺便说一句,我使用以下方式设置背景:
navVC.navigationBar.setBackgroundImage(UIImage(named: "navigation_bar_background"),
for: .default)
我检查了这里使用的图像,它不是半透明的。
这个问题该怎么办?由于动画时丑陋的外观,我不希望将viewController的extendedLayoutIncludesOpaqueBars
设置为true。
答案 0 :(得分:0)
这两种解决方案的结合将有所帮助。
http://ioscodeguide.blogspot.in/2014/01/navigation-bar-bagground-image.html
http://ioscodeguide.blogspot.in/2014/01/navigation-bar-font-style-and-font.html
在第一个视图中:
self.navigationController.navigationBar.tintColor = [UIColor clearColor];
self.navigationController.navigationBar.barStyle = UIBarStyleBlackOpaque;
在第二个视图中:
使用以下链接将图像设置到导航栏。
How to set Navigation Bar Bagground image - By - iOSCodeGUIDE
添加到那个 要在第一页中保持导航栏透明并在第二页上显示,
第一页面视图将显示隐藏 - 是NavigationBarHide,并且在视图上确实消失隐藏 - 否