• Stars
    star
    152
  • Rank 244,685 (Top 5 %)
  • Language
    Swift
  • License
    MIT License
  • Created over 6 years ago
  • Updated about 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Switch which contains label

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