2017-05-23 6 views
0

私は、これは単純でなければなら知っているが、それは私の逃亡だ:ナビゲーション項目のフォントを変更するにはどうすればよいですか?

私は背景色と色と一緒に、ナビゲーションバーのタイトルのフォントを設定する素晴らしい仕事をやっているUINavigationControllerのコードを持っています

override func viewDidLoad() { 

    super.viewDidLoad() 

    let navigationBarAppearace = UINavigationBar.appearance() 

    navigationBarAppearace.tintColor = UIColor.white 
    navigationBarAppearace.barTintColor = UIColor(colorLiteralRed: 46/255, green: 99/255, blue: 201/255, alpha: 1.0) 
    navigationBarAppearace.titleTextAttributes = [ NSFontAttributeName: UIFont(name: "OpenSans", size: 17)!] 

} 

ナビゲーション項目のフォントを変更することができません。ナビゲーションバーを使用してViewControllersの1ののviewDidLoadで

self.navigationItem.backBarButtonItem?.setTitleTextAttributes([ NSFontAttributeName: UIFont(name: "OpenSans", size: 17)!], for: UIControlState.normal)

だけでなく、(:)

self.navigationController?.navigationItem.backBarButtonItem?.setTitleTextAttributes([ NSFontAttributeName: UIFont(name: "OpenSans", size: 17)!], for: UIControlState.normal)

:私は(同じのviewDidLoadで)を含むいくつかのことを、試してみました私はplistにフォントを持っており、プロジェクトの他の部分でもそれをうまく使っています。私はちょうど間違ったやり方をしようとしていると思う、誰かが助けることができる?

答えて

1

あなたがUINavigationViewControllerクラスのすべてのUIBarButtonItemsの外観を変更することができます

UIBarButtonItem.appearance().setTitleTextAttributes([NSFontAttributeName: font!], for: UIControlState.normal) 

は、ここに詳細を参照してください:Change font of back navigation bar button

+0

ありがとうございました!完璧に動作します。 –

0

OpenSansはplistファイルにない場合は、fatal error: unexpectedly found nil while unwrapping an Optional value

になるだろうだから試してみてください

override func awakeFromNib() { 
    let navigationBarAppearace = UINavigationBar.appearance() 

    navigationBarAppearace.tintColor = UIColor.white 
    navigationBarAppearace.barTintColor = UIColor(colorLiteralRed: 46/255, green: 99/255, blue: 201/255, alpha: 1.0) 
    navigationBarAppearace.titleTextAttributes = [ NSFontAttributeName: UIFont(name: "OpenSans", size: 17)!] 
} 

difference between awakeFromNib() and viewDidLoad() in swift

関連する問題