dcgoss dcgoss - 3 months ago 16
Swift Question

Changing UINavigationBar font in Swift

I have a

UINavigationBar
with a title in the middle. I have added a custom font ("
Comic_Andy.ttf
") to my app (I have checked
info.plist
to make sure it's listed, and I have checked the
Copy Bundle Resources
to make sure it has been added), and I would like the title of the
UINavigationBar
to be displayed in that font. From what I can gather it seems as though I'm supposed to use this in my
ViewController
:


myNavigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name: "Comic_Andy", size: 22)]


I placed that method in the
viewDidLoad
function of the
ViewController
.
I have also tried this in the
didFinishLaunchingWithOptions
function of the
AppDelegate
:

UINavigationBar.appearance().titleTextAttributes = [NSFontAttributeName: UIFont(name: "Comic_Andy", size: 22)]



I am programming in Swift, in XCode 6 Beta 6. Many resources regarding this task have mentioned using a method called
setTitleTextAttributes
, which is nowhere to be seen. I can't figure it out for the life of me - I've probably spent close to 3 hours on it by now - I have checked every StackOverflow answer, every website, so please do not mark this as a duplicate.

Many thanks in advance!

Answer

Well, it took me the whole day, but I got it. My first problem was I didn't even have a NavigationController, so once I got that all sorted out this is what finally fixed it. Turns out you call the font like this: Comic Andy instead of Comic_Andy. EVEN THOUGH the font is referred to throughout the entire package as Comic_Andy, and the file is named Comic_Andy, you still use Comic Andy.

Comments