Swift-CircleMenu alternatives and similar libraries
Based on the "Menu" category.
Alternatively, view Swift-CircleMenu alternatives based on common mentions on social networks and blogs.
-
Pagemenu
A paging menu controller built from other view controllers placed inside a scroll view (like Spotify, Windows Phone, Instagram) -
SideMenu
Simple side/slide menu control for iOS, no code necessary! Lots of customization. Add it to your project in 5 minutes or less. -
SlideMenuControllerSwift
iOS Slide Menu View based on Google+, iQON, Feedly, Ameba iOS app. It is written in pure swift. -
CircleMenu
:octocat: โญ๏ธ CircleMenu is a simple, elegant UI menu with a circular layout and material design animations. Swift UI library made by @Ramotion -
GuillotineMenu
Our Guillotine Menu Transitioning Animation implemented in Swift reminds a bit of a notorious killing machine. -
PagingMenuController
Paging view controller with customizable menu in Swift. -
ENSwiftSideMenu
A simple side menu for iOS written in Swift. -
Panels
Panels is a framework to easily add sliding panels to your application -
YNDropDownMenu
โจ Awesome Dropdown menu for iOS with Swift 5.0 -
PagingKit
PagingKit provides customizable menu UI. It has more flexible layout and design than the other libraries. -
SwipeMenuViewController
Swipable tab and menu View and ViewController. -
FlowingMenu
Interactive view transition to display menus with flowing and bouncing effects in Swift -
InteractiveSideMenu
iOS Interactive Side Menu written in Swift. -
MenuItemKit
UIMenuItem with image and closure(block) action -
SwiftUI Drawer
A SwiftUI bottom-up controller, like in the Maps app. Drag to expand or minimize. -
PagerTabStripView
๐ Elegant Pager View fully written in pure SwiftUI. -
FrostedSidebar
Hamburger Menu using Swift and iOS 8 API's -
DropDownMenuKit
UIKit drop down menu, simple yet flexible and written in Swift -
KWDrawerController
Drawer view controller that easy to use! -
HHFloatingView
An easy to use and setup floating view for your app. ๐ก -
SwiftUISelector
A Modern Horizontal Option Selector View for SwiftUI
Appwrite - The open-source backend cloud platform
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Swift-CircleMenu or a related project?
README
Swift-CircleMenu
A rotating circle menu written in Swift 3.
Features
- Gesture based rotation
- Configurable rotatability
- High customisability
- Simple intuitive API
- Inertia effect
- Ready to use samples
Screenshots
Swift-CircleMenu in action in CETUS iOS App.
Getting Started
Add this to your Podfile
:
pod 'Swift-CircleMenu', :git => 'https://github.com/Sufi-Al-Hussaini/Swift-CircleMenu.git'
Usage
Please look at the demo project provided.
Basically, you'll need to create a circle and setup its frame & positioning, and add it to your view. Optionally, you may add an overlay.
Don't forget to set the delegate
and datasource
.
class DefaultRotatingViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
prepareDefaultCircleMenu()
}
func prepareDefaultCircleMenu() {
// Create circle
let circle = Circle(with: CGRect(x: 10, y: 90, width: 300, height: 300), numberOfSegments: 10, ringWidth: 80.0)
// Set dataSource and delegate
circle.dataSource = self
circle.delegate = self
// Position and customize
circle.center = view.center
// Create overlay with circle
let overlay = CircleOverlayView(with: circle)
// Add to view
self.view.addSubview(circle)
self.view.addSubview(overlay!)
}
}
Then, you need to conform to the CircleDelegate
and CircleDataSource
protocols by implementing the didMoveTo segment:
and iconForThumbAt row:
methods.
extension DefaultRotatingViewController: CircleDelegate, CircleDataSource {
func circle(_ circle: Circle, didMoveTo segment: Int, thumb: CircleThumb) {
let alert = UIAlertController(title: "Selected", message: "Item with tag: \(segment)", preferredStyle: UIAlertControllerStyle.alert)
alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.cancel, handler: nil))
self.present(alert, animated: true, completion: nil)
}
func circle(_ circle: Circle, iconForThumbAt row: Int) -> UIImage {
return UIImage(named: "icon_arrow_up")!
}
}
The above code will give you the default minimal circle menu shown below.
You can disable rotation using Circle
's optional default constructor parameter isRotating
like so:
let circle = Circle(with: CGRect(x: 10, y: 90, width: 300, height: 300), numberOfSegments: 10, ringWidth: 80.0, isRotating: false)
More examples to be added soon. :)
License
Swift-CircleMenu is licensed under the MIT license.
Why Swift-CircleMenu?
For an app I was developing recently, I wanted something like Android-CircleMenu, i.e. a rotatable circle menu. I came across a number of circle menus for iOS on github, but only one supported rotation with inertia effect - CDPieMenu. The problem with CDPieMenu though, is that it is written in Obj-C and isn't being maintained currently. So, I decided to rewrite CDPieMenu in swift and include in it all features I required in my app, and make it available publicly.
Credits
Swift-CircleMenu is (more than) heavily inspired by CDPieMenu - an Obj-C library written by Wojtek Czekalski. In its current form, this project is essentially a rewrite of CDPieMenu in Swift, with multiple bug-fixes and added features & examples. Special thanks to Wojtek Czekalski for his awesome CDPieMenu library!
*Note that all licence references and agreements mentioned in the Swift-CircleMenu README section above
are relevant to that project's source code only.