     override public func layoutSubviews() {
         super.layoutSubviews()
         
-        let selectedBackgroundWidth = bounds.width / 3.0 - selectedBackgroundInset * 3.0
-        selectedBackgroundView.frame = CGRect(x: selectedBackgroundInset + CGFloat(selectedIndex) * (selectedBackgroundWidth + selectedBackgroundInset * 3.0), y: selectedBackgroundInset, width: selectedBackgroundWidth, height: bounds.height - selectedBackgroundInset * 3.0)
+        let selectedBackgroundWidth = bounds.width / 3.0 - selectedBackgroundInset * 3.0 + 2
+        selectedBackgroundView.frame = CGRect(x: selectedBackgroundInset + CGFloat(selectedIndex) * (selectedBackgroundWidth + selectedBackgroundInset * 3.0), y: selectedBackgroundInset + 1, width: selectedBackgroundWidth, height: bounds.height - selectedBackgroundInset * 3.0)
         
         (titleLabelsContentView.frame, selectedTitleLabelsContentView.frame) = (bounds, bounds)
         

        titleLabelsContentView.addSubview(leftTitleLabel)
        titleLabelsContentView.addSubview(centerTitleLabel)
        titleLabelsContentView.addSubview(rightTitleLabel)
        
        
        
        addSubview(titleLabelsContentView)
        
        object_setClass(selectedBackgroundView.layer, DGRunkeeperSwitchRoundedLayer.self)

        self.leftTitle = leftTitle
        self.centerTitle = centerTitle
        self.rightTitle = rightTitle
        
        
        finishInit()
    }
    
    required public init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        
        finishInit()
    }
    
    override public init(frame: CGRect) {
        super.init(frame: frame)
        
        finishInit()
    }
    
