 	}
 	
 	
-	convenience override init() {
+	public convenience override init() {
 		self.init(frame: CGRectZero)
 	}
 	
-	override init(frame: CGRect) {
+	public override init(frame: CGRect) {
 		titles = Array<String>()
 		visible = true
 		super.init(frame: CGRectZero)
 		initialize()
 	}
 	
-	required init(coder aDecoder: NSCoder) {
+	public required init(coder aDecoder: NSCoder) {
 		titles = Array<String>()
 		visible = true
 		super.init(coder: aDecoder)

import Foundation
import UIKit

let STBTableViewIndexLayoutDidChange = UIDeviceOrientationDidChangeNotification

protocol STBTableViewIndexDelegate: NSObjectProtocol {
	
	func tableViewIndexChanged(index: Int, title: String)
	

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