Swift 3中的自定义导航栏

时间:2017-04-28 21:16:34

标签: swift uinavigationbar

我有一个视图控制器,它的导航栏上有一个特殊字体和一个阴影图像。然而,当我转向不同的视图控制器时,新的视图控制器模仿它所引用的视图控制器的导航栏质量。我如何摆脱这种品质?

self.navigationController?.navigationBar.titleTextAttributes = [ NSFontAttributeName: UIFont(name: "AmericanTypewriter-Bold", size: 24.0)!, NSForegroundColorAttributeName: UIColor.white]
        self.navigationController?.navigationBar.isTranslucent = false

        self.navigationController?.navigationBar.shadowImage = UIImage(named: "shadow")

1 个答案:

答案 0 :(得分:3)

要在所有视图控制器中使用相同类型的导航栏,您应在AppDelegate中指定导航栏样式。在didFinishLaunchingWithOptions方法的情况下,添加以下行:

UINavigationBar.appearance().titleTextAttributes = [ NSFontAttributeName: UIFont(name: "AmericanTypewriter-Bold", size: 24.0)!, NSForegroundColorAttributeName: UIColor.white]
UINavigationBar.appearance().isTranslucent = false
UINavigationBar.appearance().shadowImage = UIImage(named: "shadow")

现在,在所有视图控制器中,您将拥有相同的导航栏。