 			}
 		}
 
-		switch visibility {
-		case .Hidden, .Invisible, .InvisibleBackground, .Visible:
-			titleContainerView.alpha = 1
+		// TODO find another way to hide the titleView since this approach messes up the navigation hierarchy when using back-swipe gesture
+		/*
+		if let titleView = titleView {
+			switch visibility {
+			case .Hidden, .Invisible, .InvisibleBackground, .Visible:
+				titleView.alpha = 1
 
-		case .InvisibleBackgroundAndTitle:
-			titleContainerView.alpha = 0
+			case .InvisibleBackgroundAndTitle:
+				titleView.alpha = 0
+			}
 		}
+		*/
 
 		updateAlpha()
 	}

		super.init(coder: coder)

		originalAlpha = alpha
	}


	public override func addSubview(view: UIView) {
		guard !isTitleView(view) else {
			titleContainerView.addSubview(view)
			super.addSubview(titleContainerView)
			return
		}

		super.addSubview(view)
	}



	}


	private func isTitleView(view: UIView, checkingSubviews: Bool = true) -> Bool {
		return view === titleView || NSStringFromClass(view.dynamicType) == navigationItemViewClassName
	}


