 
 	private func updateTintColor() {
 		super.tintColor = overridingTintColor ?? originalTintColor
+	}
+
+
+
+	private final class TitleContainerView: View {
+
+		private override init() {
+			super.init()
+
+			clipsToBounds = false
+			userInteractionLimitedToSubviews = true
+		}
+
+
+		private required init?(coder: NSCoder) {
+			fatalError("init(coder:) has not been implemented")
+		}
+
+
+		private override func didAddSubview(subview: UIView) {
+			super.didAddSubview(subview)
+
+			superview?.setNeedsLayout()
+		}
+
+
+		private override func setNeedsLayout() {
+			superview?.setNeedsLayout()
+		}
+
+
+		private override func willRemoveSubview(subview: UIView) {
+			super.willRemoveSubview(subview)
+
+			superview?.setNeedsLayout()
+		}
 	}
 
 

		super.init(frame: frame)

		originalAlpha = alpha

		titleContainerView.clipsToBounds = false
		titleContainerView.userInteractionLimitedToSubviews = true
	}



		super.init(coder: coder)

		originalAlpha = alpha
	}


