 	- Parameter sender: A UIButton.
 	- Parameter event: A UIEvent.
 	*/
-//	internal func handleTouchUpOutsideOrCanceled(sender: FabButton, event: UIEvent) {
-//		if let v: UITouch = event.touchesForView(sender)?.first {
-//			let t: CGPoint = v.previousLocationInView(sender)
-//			let p: CGPoint = v.locationInView(sender)
-//			let q: CGFloat = sender.x + p.x - t.x
-//			setSwitchState(q > (width - button.width) / 2 ? .On : .Off, animated: true)
-//		}
-//	}
+	internal func handleTouchUpOutsideOrCanceled(sender: FabButton, event: UIEvent) {
+		if let v: UITouch = event.touchesForView(sender)?.first {
+			let t: CGPoint = v.previousLocationInView(sender)
+			let p: CGPoint = v.locationInView(sender)
+			let q: CGFloat = sender.x + p.x - t.x
+			setSwitchState(q > (width - button.width) / 2 ? .On : .Off, animated: true)
+		}
+	}
 	
 	/**
 	Handle the TouchDragInside event.

		}
	}
	
	/// Prepares the track.
	private func prepareTrack() {
		layer.addSublayer(trackLayer)

		trackLayer = MaterialLayer()
		button = FabButton()
		super.init(coder: aDecoder)
		prepareView()
		prepareTrack()
		prepareButton()
		prepareSwitchSize(.Default)
