Ios Can';t隐藏导航栏下的暗线-收进背景图像/阴影不工作

Ios Can';t隐藏导航栏下的暗线-收进背景图像/阴影不工作,ios,swift,uinavigationbar,Ios,Swift,Uinavigationbar,导航栏和上面显示的分段控件之间有一条很细的暗线。我需要试着把这条线移走 导航栏不是半透明的(我不希望它是半透明的) 我尝试过此代码,但它不起作用: @IBOutlet var navBar: UINavigationBar! self.navBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default) self.navBar.shadowImage = UIImage() 我在链接答案中尝试了这些解决方案,但它们

导航栏和上面显示的分段控件之间有一条很细的暗线。我需要试着把这条线移走

导航栏不是半透明的(我不希望它是半透明的)

我尝试过此代码,但它不起作用:

@IBOutlet var navBar: UINavigationBar!

self.navBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
self.navBar.shadowImage = UIImage()

我在链接答案中尝试了这些解决方案,但它们不起作用。此问题有相同的问题,但答案相同,并且不起作用。

AppDelegate中,这已全局更改导航栏的格式,并删除了Swift爱好者的底线/边框:

 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    UINavigationBar.appearance().setBackgroundImage(UIImage(), forBarPosition: UIBarPosition.Any, barMetrics: UIBarMetrics.Default)
    UINavigationBar.appearance().shadowImage = UIImage()
    UINavigationBar.appearance().tintColor = UIColor.whiteColor()
    UINavigationBar.appearance().barTintColor = UIColor.redColor()
    UINavigationBar.appearance().translucent = false
    UINavigationBar.appearance().clipsToBounds = false
    UINavigationBar.appearance().backgroundColor = UIColor.redColor()
    UINavigationBar.appearance().titleTextAttributes = [NSFontAttributeName : (UIFont(name: "FONT NAME", size: 18))!, NSForegroundColorAttributeName: UIColor.whiteColor()] }

没有在特定的VC上实现任何不同的功能,但这将帮助90%的人。

隐藏代码行的一个非常简单的解决方案是

override func viewDidLoad()
{
    super.viewDidLoad()

    self.navigationController?.navigationBar.setValue(true, forKey: "hidesShadow")
}

为什么要删除并重新发布同一个问题?您确定所指的是同一个导航栏吗?例如,
self.navigationController.navigationBar
而不是
self.navBar
?@rmaddy,因为您错误地将问题标记为重复问题,这意味着所有可能的答案都跑掉了,没有人再看到它了。@LeoNatan经过一番挖掘,我发现在导航控制器中包装UINavigationBar,然后使用您的代码是有效的。线路不走的原因是导航栏没有被导航控制器包裹。包裹是什么意思?如果您使用的是导航控制器,则需要对其进行修改。如果要直接在代码或界面生成器中添加条形图,则需要直接编辑条形图。另一个选项是使用外观代理修改所有条形图。