【问题标题】:when navigationBar.isTranslucent is true, the backgroundImage of navigationbar become translucent too当 navigationBar.isTranslucent 为 true 时,navigationbar 的 backgroundImage 也会变成半透明
【发布时间】:2017-05-23 07:19:23
【问题描述】:

在我的第一页,导航栏应该是透明的,当推送到下一页时,导航栏应该是一个图像。我通过更改_UIBarBackground_UINavigationBarBackground 的alpha 来解决这个问题。

但我遇到了一个大问题,在第一页,视图应该放置并从 (0,0) 绘制,所以我将导航栏的 isTranslucent 设置为 true,一切正常。但是当我进入下一页时,背景图像显示为我不想要的半透明外观。

顺便说一句,我设置背景使用:

navVC.navigationBar.setBackgroundImage(UIImage(named: "navigation_bar_background"),
                                       for: .default)

我检查了这里使用的图像,它不是半透明的。

我能解决这个问题吗?由于动画时的丑陋外观,我不想将 viewController 的 extendedLayoutIncludesOpaqueBars 设置为 true。

【问题讨论】:

标签: ios objective-c swift uinavigationbar navigationbar


【解决方案1】:

这两种解决方案的组合会有所帮助。

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


补充 为了使导航栏在第一页保持透明并在第二页显示,

第 1 页视图将出现 Hide-Yes NavigationBarHide,而在视图中确实消失了 Hide-No

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-02
    • 2015-03-29
    • 1970-01-01
    相关资源
    最近更新 更多