 		setNeedsLayout()
 	}
 	
-	override func layoutSubviews() {
+	public override func layoutSubviews() {
 		super.layoutSubviews()
 		
 		frame = controlFrame

		}
	}
	
	func hideIndex() {
		visible = false
	}
	
	func showIndex() {
		visible = true
	}
	
	func flashIndex() {
		view.alpha = 1.0
		NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "hideIndex", userInfo: nil, repeats: false)
	}
	
	override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
		let touch = touches.anyObject() as UITouch
		let location = touch.locationInView(self)
		setNewIndex(point: location)

		}
	}
	
	public override func touchesEnded(touches: NSSet, withEvent event: UIEvent) {
		if autoHides {
			visible = false
		}
	}
	
	internal func _handleGesture(gesture: UIGestureRecognizer) {
		let location = gesture.locationInView(self)
		setNewIndex(point: location)
		if autoHides {
