Customize UINavigationBar appearance in Swift

In this video tutorial I am showing how to customize UINavigationBar by:

  • changing its background color (barTintColor)
  • set UINavigationBar Title text tint color (NSForegroundColorAttributeName)
  • set UINavigationBar background image
  • change Back button tint color
  • change Bar Button item tint color

Source code:

// Set navigation bar tint / background colour
UINavigationBar.appearance().barTintColor = UIColor.redColor()

// Set Navigation bar Title colour
UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName:UIColor.whiteColor()]

// Set navigation bar ItemButton tint colour
UIBarButtonItem.appearance().tintColor = UIColor.yellowColor()

// Set Navigation bar background image
let navBgImage:UIImage = UIImage(named: “bg_blog_navbar_reduced.jpg”)!
UINavigationBar.appearance().setBackgroundImage(navBgImage, forBarMetrics: .Default)

//Set navigation bar Back button tint colour
UINavigationBar.appearance().tintColor = UIColor.whiteColor()

or you can also access UINavigationBar through the UINavigationController and change UINavigationBar tint color For example:

// Set navigation bar background colour
self.navigationController!.navigationBar.barTintColor = UIColor.yellowColor()

// Set navigation bar title text colour
self.navigationController!.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.blackColor()]

// Set Navigation bar background Image
let navBgImage:UIImage = UIImage(named: “bg_blog_navbar_reduced.jpg”)!
self.navigationController!.navigationBar.setBackgroundImage(navBgImage,
forBarMetrics: .Default)

[raw_html_snippet id=”cookbookpagecoursesheader”]

Unit Testing Swift Mobile App

Apply Test-Driven Development(TDD) process to iOS mobile app development in Swift Preview this video course.