iOS导航栏在设置新字体时不更改颜色

iOS导航栏在设置新字体时不更改颜色,ios,swift,xcode,Ios,Swift,Xcode,我正在开发一个简单的教堂应用程序。我已经启动了滑出菜单,当我将导航栏的字体设置为新字体时,我似乎无法更改它的颜色。当我没有为字体更改编写代码行时,颜色将更改。但是,一旦我为字体更改添加了一行代码,颜色就会回到默认值。我已经在下面提供了我的代码和图片。我试着把这个函数放在AppDelegate中(我看到多个论坛都说这就是诀窍),但似乎没有任何效果 当我这样做时,颜色会改变 func customizeNavBar() { navigationController?.navigat

我正在开发一个简单的教堂应用程序。我已经启动了滑出菜单,当我将导航栏的字体设置为新字体时,我似乎无法更改它的颜色。当我没有为字体更改编写代码行时,颜色将更改。但是,一旦我为字体更改添加了一行代码,颜色就会回到默认值。我已经在下面提供了我的代码和图片。我试着把这个函数放在AppDelegate中(我看到多个论坛都说这就是诀窍),但似乎没有任何效果

当我这样做时,颜色会改变

    func customizeNavBar() {

    navigationController?.navigationBar.tintColor = UIColor(colorLiteralRed: 255/255, green: 255/255, blue: 255/255, alpha: 1)
    navigationController?.navigationBar.barTintColor = UIColor(colorLiteralRed: 0/255, green: 0/255, blue: 0/255, alpha: 1)


    navigationController?.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.white]

}

当我添加NSFontAttributeName代码行时,字体类型会改变,但颜色会变回黑色

    func customizeNavBar() {

    navigationController?.navigationBar.tintColor = UIColor(colorLiteralRed: 255/255, green: 255/255, blue: 255/255, alpha: 1)
    navigationController?.navigationBar.barTintColor = UIColor(colorLiteralRed: 0/255, green: 0/255, blue: 0/255, alpha: 1)


    navigationController?.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.white]
    navigationController?.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name: "AvenirNext-Regular", size: 21)!]

}

您已将前景色替换为第二个属性。你需要把它们结合起来

试试这个

navigationController?.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.white,
NSFontAttributeName: UIFont(name: "AvenirNext-Regular", size: 21)!]

您已将前景色替换为第二个属性。你需要把它们结合起来

试试这个

navigationController?.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.white,
NSFontAttributeName: UIFont(name: "AvenirNext-Regular", size: 21)!]

你能缩小图像中的负片空间吗?它占用了很多空间,让你的问题看起来格式不正确。你能减少图片中的负面空间吗?它占用了很多空间,使你的问题看起来格式不正确。