{"id":13994979,"url":"https://github.com/jwd-ali/Switch-Animations","last_synced_at":"2025-07-22T21:31:48.727Z","repository":{"id":43106270,"uuid":"291466211","full_name":"jwd-ali/Switch-Animations","owner":"jwd-ali","description":"An animate switch collection, Add Beautiful Customise Switch in your application to boost UI and UX","archived":false,"fork":false,"pushed_at":"2023-03-06T15:41:06.000Z","size":18261,"stargazers_count":301,"open_issues_count":1,"forks_count":34,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-11-22T06:03:22.519Z","etag":null,"topics":["animation","cabasicanimation","cashapelayer","gesture","ios","ios-animation","swift","swift5","swiftui","switch","switcher","tutorial","ui","ui-components","uibezierpath","uicontrol","uikit","uiswitch","widget"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jwd-ali.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-08-30T12:28:59.000Z","updated_at":"2024-11-20T12:11:34.000Z","dependencies_parsed_at":"2023-07-16T03:46:15.568Z","dependency_job_id":null,"html_url":"https://github.com/jwd-ali/Switch-Animations","commit_stats":null,"previous_names":["jwd-ali/switches"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwd-ali%2FSwitch-Animations","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwd-ali%2FSwitch-Animations/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwd-ali%2FSwitch-Animations/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwd-ali%2FSwitch-Animations/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jwd-ali","download_url":"https://codeload.github.com/jwd-ali/Switch-Animations/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227177730,"owners_count":17743150,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["animation","cabasicanimation","cashapelayer","gesture","ios","ios-animation","swift","swift5","swiftui","switch","switcher","tutorial","ui","ui-components","uibezierpath","uicontrol","uikit","uiswitch","widget"],"created_at":"2024-08-09T14:03:12.180Z","updated_at":"2024-11-29T17:30:49.775Z","avatar_url":"https://github.com/jwd-ali.png","language":"Swift","funding_links":[],"categories":["Swift"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/jwd-ali/Switches/blob/master/SwitchesDemo/Resources/Assets.xcassets/switch-animation-post.imageset/switch-animation-post.jpg\"\u003e\n  \u003c/p\u003e\n\u003cimg align=\"right\" src=\"https://github.com/jwd-ali/Switches/blob/master/images/Screen%20Recording%202020-08-31%20at%203.39.54%20PM.gif\"/\u003e\n\n# Switches Animations\n\u003e An animated switch collection\n\n\n[![CI Status](https://travis-ci.org/jwd-ali/RingPieChart.svg)](https://travis-ci.org/jwd-ali/RingPieChart)\n[![Carthage Compatible](https://img.shields.io/badge/Carthage-compatible-0473B3.svg?style=flat)](https://github.com/Carthage/Carthage)\n[![Swift 5.1](https://img.shields.io/badge/swift-5.1-orange)](https://swift.org)\n\n\u003cp\u003e\u003ch4\u003eAdd Beautiful Customise Switch in your application to enhance your application UI and UX\u003c/h4\u003e\u003c/p\u003e\n\n___\n\n# Medium Article: \n\u003e https://medium.com/@l060214/how-to-create-loading-uiswitch-with-calayers-and-caanimations-4667c1fa845\n\n___\n\n\u003cp\u003e\nFrom time to time I browse Dribbble to get inspiration from UI/UX designers. You often see non-native control elements in these designs. Some, such as checkboxes, have no native counterpart in UIKit while others like switches are— except they’re nearly impossible to customize. You cannot even change the size of a UISwitch. What if you need to implement a completely custom designed switch for your app like this one\n\n\nIf you wanted to implement any of these designs it would be a poor choice to subclass `UISwitch` as you can hardly customize the colours — aside from the on/off tint.\nSo I thought I would try to re-engineer the UISwitch so that I would have complete control over each aspect, making it easy to style in the future.Turns out its actually pretty easy (and a lot of fun!) to build these control elements from scratch. I even went so far as to add the ability to set on/off text or images. For those who don’t know, UISwitch has onImage and offImage which when set don’t do anything anymore.\n\nSo i take few of the Dribble switches Daily UI challenges as challenge and implemented them in this library.This library has cool and sophisticated animations,Designs and effects. Also, customizable properties can be tweaked behaviors and enhance your application UI cool. With this library, you can easily implement material design switch to your app.\n\u003c/p\u003e\n\n\u003e You can play with the attributes and can customise them according to your UI demands. Below are the few examples\n## Usage example\n\n|Class|Example|\n|-|  --------  |\n|Switcher|\u003cimg src=\"https://static.dribbble.com/users/108183/screenshots/4148855/switcher_xxxiii_by_volorf_.gif\" style=\"height:300;width:300\"\u003e Dribble UI Challenge: https://dribbble.com/shots/4148855-Switcher-XXXIII|  \n|SwitcherFullStrtech|\u003cimg src=\"https://static.dribbble.com/users/108183/screenshots/3844909/switcher_on_off.gif\" style=\"height:300;width:300\"\u003eDribble UI Challenge:https://dribbble.com/shots/3844909-On-Off|  \n|SDSwitch|\u003cimg src=\"https://static.dribbble.com/users/106600/screenshots/3545882/bankin-switch-servercall_2x.gif\" style=\"height:200;width:auto\"\u003e Dribble UI Challenge:https://dribbble.com/shots/3545882-Switch-with-server-calls|  \n|YapDarkAndLightModeSwitch |\u003cimg src=\"https://static.dribbble.com/users/301508/screenshots/2484722/daily_ui_day_15_on_off_switch.gif\" style=\"height:200;width:auto\"\u003e Dribble UI Challenge:https://dribbble.com/shots/2484722-Daily-Ui-Day-15-On-Off-Switch|  \n|YapAnimatedSwitch|\u003cimg src=\"https://static.dribbble.com/users/45534/screenshots/2309834/5.gif\" style=\"height:200;width:auto\"\u003e Dribble UI Challenge:https://dribbble.com/shots/2309834-Yet-another-toggle-animation|  \n|SDSwitch |\u003cimg src=\"https://static.dribbble.com/users/2494961/screenshots/5192899/toggle-1.gif\" style=\"height:200;width:auto\"\u003eDribble UI Challenge:https://dribbble.com/shots/5192899-Simple-toggle| \n|YapFullTextSwitch |\u003cimg src=\"https://static.dribbble.com/users/26878/screenshots/2330566/switchblue.gif\" style=\"height:200;width:auto\"\u003e Dribble UI Challenge:https://dribbble.com/shots/2330566-Morph-Switch| \n|JDSwitch |\u003cimg src=\"https://static.dribbble.com/users/108183/screenshots/2346044/switch.gif\" style=\"height:200;width:auto\"\u003e Dribble UI Challenge:https://dribbble.com/shots/2346044-Switch-on-off| \n|YapSmileSwitch |\u003cimg src=\"https://static.dribbble.com/users/108183/screenshots/2011284/switcher-ll.gif\" style=\"height:200;width:auto\"\u003e Dribble UI Challenge:https://dribbble.com/shots/2011284-Switcher-ll| \n|YapLiquidSwitch |\u003cimg src=\"https://static.dribbble.com/users/108183/screenshots/2028065/switcher-lll.gif\" style=\"height:200;width:auto\"\u003e Dribble UI Challenge:https://dribbble.com/shots/2028065-Switcher-lll| \n|YapSwitchSlim |\u003cimg src=\"https://static.dribbble.com/users/153131/screenshots/2158763/toggle.gif\" style=\"height:200;width:auto\"\u003e Dribble UI Challenge:https://dribbble.com/shots/2158763-simple-toggle| \n|YapGradientSwitch |\u003cimg src=\"https://static.dribbble.com/users/1020708/screenshots/2603107/015_dribbble.gif\" style=\"height:200;width:auto\"\u003e Dribble UI Challenge:https://dribbble.com/shots/2603107-toggle-switch-micro-interaction| \n|YapHalfStretchSwitch |\u003cimg src=\"https://github.com/jwd-ali/Switch-Animations/blob/master/images/ezgif.com-video-to-gif-23.gif\" style=\"height:200;width:auto\"\u003e| \n|YapSwitch |\u003cimg src=\"https://github.com/jwd-ali/Switch-Animations/blob/master/images/ezgif.com-video-to-gif-24.gif\" style=\"height:200;width:auto\"\u003e|\n|YapFullStretchSwitch |\u003cimg src=\"https://github.com/jwd-ali/Switch-Animations/blob/master/images/ezgif.com-video-to-gif-25.gif\" style=\"height:200;width:auto\"\u003e|\n|YapSwitch |\u003cimg src=\"https://github.com/jwd-ali/Switch-Animations/blob/master/images/ezgif.com-video-to-gif-26.gif\" style=\"height:200;width:auto\"\u003e|\n\n## Requirements\n\n- iOS 10.0+ / Mac OS X 10.9+ / watchOS 2.0+ / tvOS 9.0+\n- Xcode 8.0+\n\n## Installation\n\n### [CocoaPods](http://cocoapods.org)\n\nTo integrate **Switches Animations** into your Xcode project using CocoaPods, specify it in your `Podfile`:\n\n```ruby\nuse_frameworks!\n\npod 'Switches'\n```\n\nThen, run the following command:\n\n```bash\n$ pod install\n```\n\n### [Swift Package Manager (SPM)](https://swift.org/package-manager)\n\n#### Prerequisites\n- OSX\n\n\n#### Update `Package.swift`\nTo integrate `Switches Animations` in your project, add the proper description to your `Package.swift` file:\n```swift\n// swift-tools-version:5.0\nimport PackageDescription\n\nlet package = Package(\n    name: \"YOUR_PROJECT_NAME\",\n    dependencies: [\n        .package(url: \"https://github.com/jwd-ali/Switch-Animations.git\")\n    ],\n    targets: [\n        .target(\n            name: \"YOUR_TARGET_NAME\",\n            dependencies: [\"Switch-Animations\"]\n        ),\n        ...\n    ]\n)\n```\n\n  \n### [Carthage](http://github.com/Carthage/Carthage)\n\nTo integrate `Switches Animations` into your Xcode project using Carthage, specify it in your `Cartfile`:\n\n```ogdl\ngithub \"jwd-ali/Switch-Animations\"\n```\n### Manually\n\nIf you prefer not to use a dependency manager, you can integrate Switches Animations into your project manually.\n\n- Add Sources folder into your project\n\n## Integration\nSee the Demo Xcode project its easy to understand with proper comments on properties .. write me if you didn't get anything L060214@gmail.com\n\n\u003ch4\u003eBe careful!!!\u003c/h4\u003e\nIrreversible consequences are possible during long work with the framework.\n\n\n\u003cimg src=\"https://raw.githubusercontent.com/d-dotsenko/DDAnimatedSwitch/master/Info/jimThumb.gif\" width=500\u003e\n\n\n## Contributing\n\nI’d love to have help on this project. For small changes please [open a pull request](https://github.com/jwd-ali/Switch-Animations/pulls), for larger changes please [open an issue](https://github.com/jwd-ali/Switch-Animations/issues) first to discuss what you’d like to see.\n\n\nLicense\n-------\n\nSwitch-Animations is under [MIT](https://opensource.org/licenses/MIT). See [LICENSE](LICENSE) file for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwd-ali%2FSwitch-Animations","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjwd-ali%2FSwitch-Animations","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwd-ali%2FSwitch-Animations/lists"}