AnimatedSwitch

UISwitch which paints over the parent view with the color in Swift.

  • Owner: alsedi/AnimatedSwitch
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

AnimatedSwitch

Swift 4
InterfaceBuilder Designable
Twitter
Blog

Swift subclass of the UISwitch which paints over the parent view with the color if switch is turned on and returns original superview background color if switch is off.

Inspired by concept from this Dribbble

Screenshot

AnimatedSwitch

Requirements

  • Swift 3.2
  • iOS 9.3+
  • Xcode 7.3+

Installation

Copy AnimatedSwitch.swiftto your project. Copy file if needed.

Usage

AnimatedSwitch adds nice material-design-like animation to your UISwitch.

AnimatedSwitch uses custom color for state on and superview background color for state off

When activated fills super view area with circle shape of specific color

How to create

Programatically

let switch = AnimatedSwitch()

Storyboard and XIB

  1. Drap and drop a new UISwitch
  2. Set the class of the UISwitch to AnimatedSwitch
  3. Set color for the switch
  4. Set other parameters

Interfacebuilder

Configurable properties (in code and in Interface Builder)

All regular UISwitch
  1. color animation color for on state (off state uses superview.backgroundColor). Default .clearColor()
  2. animationDuraton how long AnimatedSwitch will draw circle to fill the superview frame. Default 0.25
  3. startRadius circle radius that will be shown on screen without animation. Default 15 (to fit UISwitch size)
  4. borderColor border color for on state. Default .colorWhite
  5. showBorder should border appear around UISwitch for on state. Default true
  6. shape filling shape: .Round, .Star, .Dimond or .Cusom(UIBezierPath). Default .Round (NB! Can be set in code only)

Callbacks

Animation started

let switch = AnimatedSwitch()
switch.animationDidStart = {
  // do something
}

Animation Finished

switch.animationDidStop = {  
  // do something
}

About

I made this switch to practice my skills in animation.

The implementation inspired by Marin Todorov book iOS Animations by Tutorials and Ramotion Inc. animation on Dribble. Please note that this Ramotion Inc. provided their own implementation, but it uses another approach for animation.

Main metrics

Overview
Name With Owneralsedi/AnimatedSwitch
Primary LanguageSwift
Program languageSwift (Language Count: 1)
Platform
License:MIT License
所有者活动
Created At2016-04-19 10:44:08
Pushed At2018-10-26 15:46:17
Last Commit At2018-01-24 14:48:54
Release Count0
用户参与
Stargazers Count246
Watchers Count5
Fork Count23
Commits Count27
Has Issues Enabled
Issues Count4
Issue Open Count1
Pull Requests Count3
Pull Requests Open Count1
Pull Requests Close Count0
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private