{"id":2615,"url":"https://github.com/Ramotion/circle-menu","last_synced_at":"2025-08-06T16:31:37.258Z","repository":{"id":41293685,"uuid":"50489835","full_name":"Ramotion/circle-menu","owner":"Ramotion","description":":octocat: ⭕️ CircleMenu is a simple, elegant UI menu with a circular layout and material design animations. Swift UI library made by @Ramotion","archived":false,"fork":false,"pushed_at":"2022-07-12T05:09:22.000Z","size":6458,"stargazers_count":3437,"open_issues_count":15,"forks_count":357,"subscribers_count":83,"default_branch":"master","last_synced_at":"2024-12-05T13:03:03.248Z","etag":null,"topics":["component","ios","library","swift"],"latest_commit_sha":null,"homepage":"https://www.ramotion.com/circle-menu-open-source-iphone-app-development-library/","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/Ramotion.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-01-27T07:27:09.000Z","updated_at":"2024-12-04T16:19:47.000Z","dependencies_parsed_at":"2022-08-10T02:00:48.743Z","dependency_job_id":null,"html_url":"https://github.com/Ramotion/circle-menu","commit_stats":null,"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ramotion%2Fcircle-menu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ramotion%2Fcircle-menu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ramotion%2Fcircle-menu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ramotion%2Fcircle-menu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ramotion","download_url":"https://codeload.github.com/Ramotion/circle-menu/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228923702,"owners_count":17992567,"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":["component","ios","library","swift"],"created_at":"2024-01-05T20:16:18.392Z","updated_at":"2024-12-09T16:31:06.282Z","avatar_url":"https://github.com/Ramotion.png","language":"Swift","funding_links":["https://paypal.me/Ramotion"],"categories":["UI","Libs","iOS","Swift","UI [🔝](#readme)","Content"],"sub_categories":["Menu","UI","Components","Layout","Other free courses"],"readme":"\u003ca href=\"https://www.ramotion.com/agency/app-development/?utm_source=gthb\u0026utm_medium=repo\u0026utm_campaign=circle-menu\"\u003e\u003cimg src=\"https://github.com/Ramotion/circle-menu/blob/master/header.png\"\u003e\u003c/a\u003e\n\n\u003ca href=\"https://github.com/Ramotion/circle-menu\"\u003e\n\u003cimg align=\"left\" src=\"https://github.com/Ramotion/circle-menu/blob/master/circle-menu.gif\" width=\"480\" height=\"360\" /\u003e\u003c/a\u003e\n\n\u003cp\u003e\u003ch1 align=\"left\"\u003eCIRCLE MENU\u003c/h1\u003e\u003c/p\u003e\n\n\u003ch4\u003eSimple, elegant UI menu with a circular layout and material design animations\u003c/h4\u003e\n\n\n___\n\n\n\n\u003cp\u003e\u003ch6\u003eWe specialize in the designing and coding of custom UI for Mobile Apps and Websites.\u003c/h6\u003e\n\u003ca href=\"https://www.ramotion.com/agency/app-development/?utm_source=gthb\u0026utm_medium=repo\u0026utm_campaign=circle-menu\"\u003e\n\u003cimg src=\"https://github.com/ramotion/gliding-collection/raw/master/contact_our_team@2x.png\" width=\"187\" height=\"34\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp\u003e\u003ch6\u003eStay tuned for the latest updates:\u003c/h6\u003e\n\u003ca href=\"https://goo.gl/rPFpid\" \u003e\n\u003cimg src=\"https://i.imgur.com/ziSqeSo.png/\" width=\"156\" height=\"28\"\u003e\u003c/a\u003e\u003c/p\u003e\n\n\u003c/br\u003e\n\n[![Twitter](https://img.shields.io/badge/Twitter-@Ramotion-blue.svg?style=flat)](http://twitter.com/Ramotion)\n[![CocoaPods](https://img.shields.io/cocoapods/p/CircleMenu.svg)](https://cocoapods.org/pods/CircleMenu)\n[![CocoaPods](https://img.shields.io/cocoapods/v/CircleMenu.svg)](http://cocoapods.org/pods/CircleMenu)\n[![CocoaPods](https://img.shields.io/cocoapods/metrics/doc-percent/CircleMenu.svg)](https://cdn.rawgit.com/Ramotion/circle-menu/master/docs/index.html)\n[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Ramotion/circle-menu)\n[![codebeat badge](https://codebeat.co/badges/6f67da5d-c416-4bac-9fb7-c2dc938feedc)](https://codebeat.co/projects/github-com-ramotion-circle-menu)\n[![Travis](https://img.shields.io/travis/Ramotion/circle-menu.svg)](https://travis-ci.org/Ramotion/circle-menu)\n[![Donate](https://img.shields.io/badge/Donate-PayPal-blue.svg)](https://paypal.me/Ramotion)\n\n\n## Requirements\n\n- iOS 9.0+\n- Xcode 9.0.1\n\n## Installation\n\nJust add CircleMenuLib folder to your project.\n\nor use [CocoaPods](https://cocoapods.org) with Podfile:\n\n```ruby\npod 'CircleMenu'\n```\nor [Carthage](https://github.com/Carthage/Carthage) users can simply add to their `Cartfile`:\n```\ngithub \"Ramotion/circle-menu\"\n```\n\n## Usage\n\n##### with storyboard\n\n1) Create a new UIButton inheriting from `CircleMenu`\n\n2) Add images for Normal and Selected state\n\n3) Use delegate method to configure buttons\n\n```swift\nfunc circleMenu(circleMenu: CircleMenu, willDisplay button: UIButton, atIndex: Int)\n```\n\n4) Use properties to configure CircleMenu\n\n```swift\n@IBInspectable var buttonsCount: Int = 3\n@IBInspectable var duration: Double = 2 // circle animation duration\n@IBInspectable var distance: Float = 100 // distance between center button and buttons\n```\n\n##### programmatically\n\n```swift\nlet button = CircleMenu(\n  frame: CGRect(x: 200, y: 200, width: 50, height: 50),\n  normalIcon:\"icon_menu\",\n  selectedIcon:\"icon_close\",\n  buttonsCount: 4,\n  duration: 4,\n  distance: 120)\nbutton.delegate = self\nbutton.layer.cornerRadius = button.frame.size.width / 2.0\nview.addSubview(button)\n```\n\n##### delegate methods\n\n```swift\n// configure buttons\noptional func circleMenu(circleMenu: CircleMenu, willDisplay button: UIButton, atIndex: Int)\n\n// call before animation\noptional func circleMenu(circleMenu: CircleMenu, buttonWillSelected button: UIButton, atIndex: Int)\n\n// call after animation\noptional func circleMenu(circleMenu: CircleMenu, buttonDidSelected button: UIButton, atIndex: Int)\n\n// call upon cancel of the menu - fires immediately on button press\noptional func menuCollapsed(circleMenu: CircleMenu)\n\n// call upon opening of the menu - fires immediately on button press\noptional func menuOpened(circleMenu: CircleMenu)\n```\n\n## 🗂 Check this library on other language:\n\u003ca href=\"https://github.com/Ramotion/circle-menu-android\"\u003e \n\u003cimg src=\"https://github.com/ramotion/navigation-stack/raw/master/Android_Java@2x.png\" width=\"178\" height=\"81\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/Ramotion/react-native-circle-menu\"\u003e \n\u003cimg src=\"https://github.com/ramotion/navigation-stack/raw/master/React Native@2x.png\" width=\"178\" height=\"81\"\u003e\u003c/a\u003e\n\n\n## 📄 License\n\nCircle Menu is released under the MIT license.\nSee [LICENSE](./LICENSE) for details.\n\nThis library is a part of a \u003ca href=\"https://github.com/Ramotion/swift-ui-animation-components-and-libraries\"\u003e\u003cb\u003eselection of our best UI open-source projects.\u003c/b\u003e\u003c/a\u003e\n\nIf you use the open-source library in your project, please make sure to credit and backlink to www.ramotion.com\n\n## 📱 Get the Showroom App for iOS to give it a try\nTry this UI component and more like this in our iOS app. Contact us if interested.\n\n\u003ca href=\"https://itunes.apple.com/app/apple-store/id1182360240?pt=550053\u0026ct=folding-cell\u0026mt=8\" \u003e\n\u003cimg src=\"https://github.com/ramotion/gliding-collection/raw/master/app_store@2x.png\" width=\"117\" height=\"34\"\u003e\u003c/a\u003e\n\n\u003ca href=\"https://www.ramotion.com/agency/app-development/?utm_source=gthb\u0026utm_medium=repo\u0026utm_campaign=circle-menu\"\u003e\n\u003cimg src=\"https://github.com/ramotion/gliding-collection/raw/master/contact_our_team@2x.png\" width=\"187\" height=\"34\"\u003e\u003c/a\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRamotion%2Fcircle-menu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRamotion%2Fcircle-menu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRamotion%2Fcircle-menu/lists"}