 
     override func viewDidLoad() {
         super.viewDidLoad()
-        
-        self.navBarHairlineImageView = self.findHairlineImageViewUnder(self.navigationController!.navigationBar)
+
+        self.navBarHairlineImageView = self.stealHairlineImageViewUnder(self.navigationController!.navigationBar)
         self.navBarHairlineImageView?.hidden = true
+        if let navBarHairlineImageView = self.navBarHairlineImageView {
+            self.view.addSubview(navBarHairlineImageView)
+        }
     }
 
     override func viewWillAppear(animated: Bool) {


    // MARK: - Private

    private func findHairlineImageViewUnder(view: UIView) -> UIImageView? {
        if view.isKindOfClass(UIImageView) && view.bounds.size.height <= 1.0 {
            return view as? UIImageView
        }
        for subview in view.subviews {
            if let view = self.findHairlineImageViewUnder(subview as! UIView) {
                return view
            }
        }

        default:
            break
        }
    }

    override func viewWillLayoutSubviews() {
        super.viewWillLayoutSubviews()
    }

    override func viewDidLayoutSubviews() {
