Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Ramotion/circle-menu
:octocat: ⭕️ CircleMenu is a simple, elegant UI menu with a circular layout and material design animations. Swift UI library made by @Ramotion
https://github.com/Ramotion/circle-menu
component ios library swift
Last synced: 3 months ago
JSON representation
:octocat: ⭕️ CircleMenu is a simple, elegant UI menu with a circular layout and material design animations. Swift UI library made by @Ramotion
- Host: GitHub
- URL: https://github.com/Ramotion/circle-menu
- Owner: Ramotion
- License: mit
- Created: 2016-01-27T07:27:09.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2022-07-12T05:09:22.000Z (over 2 years ago)
- Last Synced: 2024-07-18T23:00:34.581Z (4 months ago)
- Topics: component, ios, library, swift
- Language: Swift
- Homepage: https://www.ramotion.com/circle-menu-open-source-iphone-app-development-library/
- Size: 6.16 MB
- Stars: 3,436
- Watchers: 83
- Forks: 356
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ios - CircleMenu - An animated, multi-option menu button. (UI / Menu)
- awesome-swift - CircleMenu - CircleMenu is a simple, elegant UI menu with a circular layout and material design animations. (Libs / UI)
- awesome-swift - CircleMenu - CircleMenu is a simple, elegant UI menu with a circular layout and material design animations. (Libs / UI)
- awesome-material-design - circle-menu - Nice ciruclar material menu with animations (iOS / Components)
- awesome-ios-star - CircleMenu - An animated, multi-option menu button. (UI / Menu)
- fucking-awesome-swift - CircleMenu - CircleMenu is a simple, elegant UI menu with a circular layout and material design animations. (Libs / UI)
- awesome-ios - circle-menu - CircleMenu is a simple, elegant UI menu with a circular layout and material design animations. Swift UI library. [•](https://raw.githubusercontent.com/Ramotion/circle-menu/master/circle-menu.gif) (Content / Menu)
- awesome-swift - CircleMenu - CircleMenu is a simple, elegant UI menu with a circular layout and material design animations. Swift UI library made by @Ramotion ` 📝 a year ago` (UI [🔝](#readme))
README
CIRCLE MENU
Simple, elegant UI menu with a circular layout and material design animations
___
We specialize in the designing and coding of custom UI for Mobile Apps and Websites.
Stay tuned for the latest updates:
[![Twitter](https://img.shields.io/badge/[email protected]?style=flat)](http://twitter.com/Ramotion)
[![CocoaPods](https://img.shields.io/cocoapods/p/CircleMenu.svg)](https://cocoapods.org/pods/CircleMenu)
[![CocoaPods](https://img.shields.io/cocoapods/v/CircleMenu.svg)](http://cocoapods.org/pods/CircleMenu)
[![CocoaPods](https://img.shields.io/cocoapods/metrics/doc-percent/CircleMenu.svg)](https://cdn.rawgit.com/Ramotion/circle-menu/master/docs/index.html)
[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Ramotion/circle-menu)
[![codebeat badge](https://codebeat.co/badges/6f67da5d-c416-4bac-9fb7-c2dc938feedc)](https://codebeat.co/projects/github-com-ramotion-circle-menu)
[![Travis](https://img.shields.io/travis/Ramotion/circle-menu.svg)](https://travis-ci.org/Ramotion/circle-menu)
[![Donate](https://img.shields.io/badge/Donate-PayPal-blue.svg)](https://paypal.me/Ramotion)## Requirements
- iOS 9.0+
- Xcode 9.0.1## Installation
Just add CircleMenuLib folder to your project.
or use [CocoaPods](https://cocoapods.org) with Podfile:
```ruby
pod 'CircleMenu'
```
or [Carthage](https://github.com/Carthage/Carthage) users can simply add to their `Cartfile`:
```
github "Ramotion/circle-menu"
```## Usage
##### with storyboard
1) Create a new UIButton inheriting from `CircleMenu`
2) Add images for Normal and Selected state
3) Use delegate method to configure buttons
```swift
func circleMenu(circleMenu: CircleMenu, willDisplay button: UIButton, atIndex: Int)
```4) Use properties to configure CircleMenu
```swift
@IBInspectable var buttonsCount: Int = 3
@IBInspectable var duration: Double = 2 // circle animation duration
@IBInspectable var distance: Float = 100 // distance between center button and buttons
```##### programmatically
```swift
let button = CircleMenu(
frame: CGRect(x: 200, y: 200, width: 50, height: 50),
normalIcon:"icon_menu",
selectedIcon:"icon_close",
buttonsCount: 4,
duration: 4,
distance: 120)
button.delegate = self
button.layer.cornerRadius = button.frame.size.width / 2.0
view.addSubview(button)
```##### delegate methods
```swift
// configure buttons
optional func circleMenu(circleMenu: CircleMenu, willDisplay button: UIButton, atIndex: Int)// call before animation
optional func circleMenu(circleMenu: CircleMenu, buttonWillSelected button: UIButton, atIndex: Int)// call after animation
optional func circleMenu(circleMenu: CircleMenu, buttonDidSelected button: UIButton, atIndex: Int)// call upon cancel of the menu - fires immediately on button press
optional func menuCollapsed(circleMenu: CircleMenu)// call upon opening of the menu - fires immediately on button press
optional func menuOpened(circleMenu: CircleMenu)
```## 🗂 Check this library on other language:
## 📄 License
Circle Menu is released under the MIT license.
See [LICENSE](./LICENSE) for details.This library is a part of a selection of our best UI open-source projects.
If you use the open-source library in your project, please make sure to credit and backlink to www.ramotion.com
## 📱 Get the Showroom App for iOS to give it a try
Try this UI component and more like this in our iOS app. Contact us if interested.