LabelSwitch

Switch which contains label

133
27
Swift

LabeSwitch

Build Status
Version
License
Platform

Installation

LabelSwitch is available through CocoaPods. To install
it, simply add the following line to your Podfile:

pod 'LabelSwitch'

Usage

You can create the view through code or InterfaceBuilder

Use with Interface Builder

Set the position constarint for the switch, and set the width and height constraint to larger than zero.

Use with code

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?)

Author

[email protected]

License

LabelSwitch is available under the MIT license. See the LICENSE file for more info.

logo by @Tobaloidee