Latest 2.1.4
Homepage https://github.com/GianniCarlo/SevenSwitch
License MIT
Platforms ios 9.0, requires ARC
Frameworks UIKit, QuartzCore
Authors

Based on SevenSwitch

Main difference is that swipe on switch was replaced for tap on switch to toggle the state. Also if you want to tint the ImageView of the thumb, you can use setThumb(_ tint:UIColor)

TPCustomSwitch

iOS7 style drop in replacement for UISwitch

Animation

Default

Usage

Cocoapods

pod 'TPCustomSwitch', '~> 2.1.3'

Swift support was added in version 2.0. If your project does not support swift you can use 1.4.

Without Cocoapods

Add SevenSwitch.swift to your project and add the QuartzCore framework to your project.

Examples

Initializing and adding the switch to the screen

let mySwitch = SevenSwitch()
self.view.addSubview(mySwitch)

When the user manipulates the switch control ("flips" it) a UIControlEvents.valueChanged event is generated.

mySwitch.addTarget(self, action: #selector(ViewController.switchChanged(_:)), for: UIControlEvents.valueChanged)

You can set images for the on/off states

mySwitch.offImage = UIImage(named: "cross.png")
mySwitch.onImage = UIImage(named: "check.png")
mySwitch.thumbImage = UIImage(named: "thumb.png")

You can set text for the on/off states

mySwitch.offLabel.text = "ON"
mySwitch.onLabel.text = "OFF"

You can also customize the switches colors

mySwitch.thumbTintColor = UIColor(red: 0.19, green: 0.23, blue: 0.33, alpha: 1)
mySwitch.activeColor =  UIColor(red: 0.07, green: 0.09, blue: 0.11, alpha: 1)
mySwitch.inactiveColor =  UIColor(red: 0.07, green: 0.09, blue: 0.11, alpha: 1)
mySwitch.onTintColor =  UIColor(red: 0.45, green: 0.58, blue: 0.67, alpha: 1)
mySwitch.borderColor = UIColor.clear
mySwitch.shadowColor = UIColor.black

You can resize the switch frame to whatever you like to make fatter/skinnier controls

mySwitch.frame = CGRect(x: 0, y: 0, width: 100, height: 50)

You can turn off the rounded look by setting the isRounded property to false

mySwitch.isRounded = false

Swift and Objective-C compatability

SevenSwitch uses Swift as of its 2.0 release. SevenSwitch.swift can be used in Objective-C. See ViewController.m for an example.

Requirements

SevenSwitch requires iOS 8.0 and above.

ARC

SevenSwitch uses ARC as of its 1.0 release.

License

Made available under the MIT License. Attribution would be nice.

Latest podspec

{
    "name": "TPCustomSwitch",
    "version": "2.1.4",
    "summary": "iOS7 style drop in replacement for UISwitch.",
    "homepage": "https://github.com/GianniCarlo/SevenSwitch",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "Gianni Carlo": "[email protected]"
    },
    "source": {
        "git": "https://github.com/GianniCarlo/SevenSwitch.git",
        "tag": "2.1.3"
    },
    "platforms": {
        "ios": "9.0"
    },
    "source_files": "TPCustomSwitch.swift",
    "exclude_files": "Classes/Exclude",
    "frameworks": [
        "UIKit",
        "QuartzCore"
    ],
    "requires_arc": true,
    "pushed_with_swift_version": "3.0"
}

Pin It on Pinterest

Share This