# circle-menu
**Repository Path**: CzyCavan/circle-menu
## Basic Information
- **Project Name**: circle-menu
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-04-19
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## 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:
[](http://twitter.com/Ramotion)
[](https://cocoapods.org/pods/CircleMenu)
[](http://cocoapods.org/pods/CircleMenu)
[](https://cdn.rawgit.com/Ramotion/circle-menu/master/docs/index.html)
[](https://github.com/Ramotion/circle-menu)
[](https://codebeat.co/projects/github-com-ramotion-circle-menu)
[](https://travis-ci.org/Ramotion/circle-menu)
[](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.