LabelSwitch is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'LabelSwitch'You can create the view through code or InterfaceBuilder
Set the position constarint for the switch, and set the width and height constraint to larger than zero.
let ls = LabelSwitchConfig(text: "Text1",
                      textColor: .white,
                           font: UIFont.boldSystemFont(ofSize: 15),
                backgroundColor: .red)
        
let rs = LabelSwitchConfig(text: "Text2",
                      textColor: .white,
                           font: UIFont.boldSystemFont(ofSize: 20),
                backgroundColor: .green)
// Set the default state of the switch,
let labelSwitch = LabelSwitch(center: .zero, leftConfig: ls, rightConfig: rs)
// Set the appearance of the circle button
labelSwitch.circleShadow = false
labelSwitch.circleColor = .red
// Make switch be triggered by tapping on any position in the switch
labelSwitch.fullSizeTapEnabled = true
// Set the delegate to inform when the switch was triggered
labelSwitch.delegate = self
extension ViewController: LabelSwitchDelegate {
    func switchChangToState(sender: LabelSwitch) {
        switch sender.curState {
            case .L: print("left state")
            case .R: print("right state")
        }
    }
}you can also make the switch background to be image or gradient color
// gradient color
init(text: String, textColor: UIColor, font: UIFont, gradientColors: [CGColor], startPoint: CGPoint, endPoint: CGPoint)
// image
init(text: String, textColor: UIColor, font: UIFont, image: UIImage?)
LabelSwitch is available under the MIT license. See the LICENSE file for more info.
logo by @Tobaloidee

