 		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)
 	}
 
 

	}


	public override func insertSubview(view: UIView, atIndex index: Int) {
		guard !isTitleView(view) else {
			titleContainerView.addSubview(view)
			super.insertSubview(titleContainerView, atIndex: index)
			return
		}

		super.insertSubview(view, atIndex: index)
	}


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

		super.insertSubview(view, aboveSubview: isTitleView(siblingSubview) ? titleContainerView : siblingSubview)
	}


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

		super.insertSubview(view, belowSubview: isTitleView(siblingSubview) ? titleContainerView : siblingSubview)
	}


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


	public override func layoutSubviews() {
		super.layoutSubviews()

		titleContainerView.frame = CGRect(size: bounds.size)
	}




	private func updateTintColor() {
		super.tintColor = overridingTintColor ?? originalTintColor
	}


