【问题标题】:How to remove navigation bar border/shadow? [duplicate]如何删除导航栏边框/阴影? [复制]
【发布时间】:2016-07-02 07:36:24
【问题描述】:

所以我有一个导航栏,它有一条我想删除的水平线。

我已从屏幕截图中删除导航栏颜色以使线条更明显。

我尝试将导航栏的阴影图像属性设置为空白 png(1x1 像素 png,用于 1x、2x 和 3x),但没有任何效果。

【问题讨论】:

    标签: ios swift


    【解决方案1】:

    如果你想在全球范围内这样做,你可以这样做:

    UINavigationBar.appearance().shadowImage = UIImage()
    UINavigationBar.appearance().setBackgroundImage(UIImage(), for: .default)
    

    【讨论】:

    • 工作,除非它进入另一个视图控制器,我的导航栏没有颜色。
    • 你会在哪里设置这个---我猜是在 AppDel 中?示例代码?
    • Swift 4 更新:UINavigationBar.appearance().shadowImage = UIImage() UINavigationBar.appearance().setBackgroundImage(UIImage(), for: .default)
    • @EdmundElmer ios 13 in not remove shadow
    • 这一直对我有用,除了 iOS 15 似乎需要带有内容的图像 - 我更新为使用纯色图像。
    【解决方案2】:

    这两行代码总是对我有用:

     navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)
        navigationController?.navigationBar.shadowImage = UIImage()
    

    【讨论】:

    • 对于 swift3: UINavigationBar.appearance().shadowImage = UIImage() UINavigationBar.appearance().setBackgroundImage(UIImage(named: "img_name"),for:.default)
    • 我为导航栏设置了 barTint 和 tintColor。在按照您的建议进行操作后,barTint 没有得到尊重,它正在变回白色。有什么建议吗?
    • navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default) 这行导致我的导航栏不尊重 barTint
    • @TheRohanSanap 如果你说的是barTintColor,那么就在setBackgroundImage()之后设置它
    • @Xernox 不,这没有帮助。上面答案中描述的方法,不仅去除了底部阴影,还使导航栏清晰。要在保留 barTintColor 的情况下移除底部阴影,请遵循此答案 - > stackoverflow.com/a/19227158/4618125
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-28
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    • 1970-01-01
    • 1970-01-01
    • 2016-12-11
    相关资源
    最近更新 更多