【问题标题】:How can I remove border bottom of UINavigationBar?如何删除 UINavigationBar 的边框底部?
【发布时间】:2016-01-22 08:28:49
【问题描述】:

我想删除UINavigationBar的底部边框,但不知道如何删除。

【问题讨论】:

标签: ios navigationbar


【解决方案1】:

其实就是导航栏的阴影

要摆脱它,只需将其设置为空图像:

navigationController.navigationBar.shadowImage = UIImage()

注意:必须设置为空UIImage()nil 由于某种原因无法使用。

【讨论】:

  • 文档说它只会在设置 backgroundImage 时工作,但它对我有用,而没有 backgroundImage 作为这个答案中的代码
【解决方案2】:

您需要设置一个自定义阴影图像来显示而不是默认图像。注意:还必须设置自定义背景图片。

navController.navigationBar.barTintColor = .blue //set your color
navController.navigationBar.isTranslucent = false

navController.navigationBar.setBackgroundImage(UIImage(), for: .default)
navController.navigationBar.shadowImage = UIImage()

【讨论】:

    【解决方案3】:

    你可以这样做

    self.navigationController.navigationBar.layer.borderWidth = 0.0;
    

    你可以赋予与导航栏背景颜色相同的边框颜色

    self.navigationController.navigationBar.layer.borderColor = [UIColor colorWithRed:<#(CGFloat)#> green:<#(CGFloat)#> blue:<#(CGFloat)#> alpha:<#(CGFloat)#>];
    

    【讨论】:

    • 在 iOS 10.2 中都没有用
    【解决方案4】:

    对于 iOS 11,您可以使用(已弃用)黑色半透明导航栏样式和自定义栏色调。

    【讨论】:

      猜你喜欢
      • 2019-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-25
      • 1970-01-01
      • 2015-08-24
      • 2023-03-26
      相关资源
      最近更新 更多