lab

LabelSwitch

Switch which contains label

Showing:

Popularity

Downloads/wk

0

GitHub Stars

129

Maintenance

Last Commit

1yr ago

Contributors

5

Package

Dependencies

0

License

MIT

Categories

Readme

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

cookiezby@gmail.com

License

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

logo by @Tobaloidee

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100