AZDropdownMenu alternatives and similar libraries
Based on the "Menu" category.
Alternatively, view AZDropdownMenu 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. -
BTNavigationDropdownMenu
The elegant yet functional dropdown menu, written in Swift, appears underneath the navigation bar to display a list of defined items when a user clicks on the navigation title. -
PagingKit
PagingKit provides customizable menu UI. It has more flexible layout and design than the other libraries. -
CategorySliderView
slider view for choosing categories. add any UIView type as category item view. Fully customisable -
RadialMenu
RadialMenu is a custom control for providing a touch context menu (like iMessage recording in iOS 8) built with Swift & POP -
DTPagerController
A fully customizable container view controller to display a set of ViewControllers in a horizontal scroll view. Written in Swift. -
RHSideButtons
Library provides easy to implement variation of Android (Material Design) Floating Action Button for iOS. You can use it as your app small side menu. 🌶
InfluxDB - Purpose built for real-time analytics at any scale.
* 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 AZDropdownMenu or a related project?
README
AZDropdownMenu
AZDropdownMenu is a simple dropdown menu component that supports Swift.
Screenshots
Code used in the screencast are included in the bundled sample project.
Demo Project
To run the demo project, clone the repo with git clone https://github.com/Azuritul/AZDropdownMenu.git
, and run pod install
from the Example directory first.
Requirements
- iOS 8 or above
- Xcode 8 or above
- Swift 3
Installation
AZDropdownMenu is available through CocoaPods. To install it, simply add the following line to your Podfile:
use_frameworks!
pod 'AZDropdownMenu'
Usage
Declare an array of texts that are served as the item in the menu.
let titles = ["Action 1", "Action 2", "Action 3"]
Then pass the array to the initializer
let menu = AZDropdownMenu(titles: titles)
Set up so that the UIBarButtonItem
is asso
ated with a function that shows the menu
let button = UIBarButtonItem(image: UIImage(named: "menu_image"), style: .Plain, target: self, action: "showDropdown")
navigationItem.leftBarButtonItem = menuButton
Calling public func showMenuFromView(view:UIView)
can then show the menu.
func showDropdown() {
if (self.menu?.isDescendantOfView(self.view) == true) {
self.menu?.hideMenu()
} else {
self.menu?.showMenuFromView(self.view)
}
}
The handler public var cellTapHandler : ((indexPath:NSIndexPath) -> Void)?
would be called
when menu item is tapped. So place code in here to do whatever you want. For example
menu.cellTapHandler = { [weak self] (indexPath: NSIndexPath) -> Void in
self?.navigationController?.pushViewController(controller, animated:true)
}
Create menu with icons
Pass in a AZDropdownMenuItemData in the initializer: public init(dataSource:[AZDropdownMenuItemData])
and you are good to go.
Take a look at the sample project in this repository to get more usage of the library.
Configurable options
Currently AZDropdownMenu can be customized with the following properties. More will come in the future.
itemHeight
Row height of the menu item. Default is 44.itemColor
The background color of the menu item. Default is white.itemFontColor
The text color of the menu item. Default is black.itemFontSize
Font size of the menu item. Default is 14.0itemFont
Font used in the menu. Default is 'Helvetica'itemAlignment
The alignment of the menu item. Default is left-aligned.itemSelectionColor
The background color of the menu item while it is tapped. Default is gray.overlayAlpha
The transparency for the background overlay. Default is 0.5overlayColor
Color for the background overlay. Default is black.menuSeparatorStyle
The separator of the menu. Default is single line.menuSeparatorColor
The color of the separator. Default is light gray.itemImagePosition
The position of image in the menu. Can be positioned before or after the text. Default is.Prefix
.shouldDismissMenuOnDrag
If set to true, menu would be dismissed on drag. Default value isfalse
.
Version
1.1.3
- Update for Swift 4 syntax
1.1.2
- Update for Swift 3 syntax
1.1.1
- Update for Swift 2.2's #selector syntax
1.1.0
- Added
shouldDismissMenuOnDrag
option, menu would be dismissed on drag if this option is enabled - Modified the sample project with an example using
UITableView
. - Added gesture handler for the menu.
- Extract config struct to a separate file
- Update readme.
- Added
1.0.0
- Added
itemImagePosition
option, now can configure the icon position. - Changed icon sets and its corresponding location in the sample project.
- Modified sample project's appearance a little bit.
- Modified sample project's structure.
- Added CHANGELOG.md
- Added
0.6.1
- Update readme
0.6.0
- Now can use icons in the menu.
- Added configuration options:
menuSeparatorColor
,itemFont
0.5.3
- Now can configure item's background color while tapped
Credit
- Icon used in in the sample project is Designed by Skydesign - Freepik.com
Author
Chris Wu (Azuritul), [email protected]
License
AZDropdownMenu is available under the MIT license. See the LICENSE file for more info.
*Note that all licence references and agreements mentioned in the AZDropdownMenu README section above
are relevant to that project's source code only.