DropDownMenuKit
DropDownMenuKit is a custom UIKit control to show a menu attached to the navigation bar or toolbar. The menu appears with a sliding animation and can be deeply customized. For example, with icons, embedded controls, or a checkmark to denote a selected row among multiple menu cells.
The control is made up of three parts:
- DropDownMenu: the menu itself, a UIView subclass that contains a UITableView presenting one or more DropDownMenuCell(s)
- DropDownMenuCell: a menu entry, implemented as a UITableViewCell subclass
- DropDownMenuTitleView: an optional title view to toggle the menu, which is usually put in the navigation bar and acts as a disclosure indicator
To see in action, take a look at the very beginning of Placeboard demo video.
Compatibility
DropDownMenuKit requires at least Xcode 9 and supports iOS 8 and higher.
Swift | DropDownMenuKit |
---|---|
5 | 0.9 or branch swift-5 |
4.2 | 0.8.6 or branch swift-4.2 |
4.X | 0.8.5 or branch swift-4.1 |
3.X | 0.8.4 or branch swift-3.2 |
Installation
Carthage
Add the following line to your Cartfile, run carthage update
to build the framework and drag the built DropDownMenuKit.framework into your Xcode project.
github "qmathe/DropDownMenuKit"
CocoaPods
Add the following lines to your Podfile and run pod install
with CocoaPods 0.36 or newer.
use_frameworks!
pod "DropDownMenuKit"
Manually
If you don't use Carthage or CocoaPods, it's possible to drag the built framework or embed the source files into your project.
Framework
Build DropDownMenuKit framework and drop it into your Xcode project.
Files
Drop DropDownMenu.swift, DropDownMenuCell.swift, DropDownTitleView.swift and DropDownMenuKit.xcassets into your Xcode project.
App Extension Usage
Build Settings
Add -DAPP_EXTENSION to DropDownMenuKit > Build Settings > Other Swift Flags.
Restrictions
DropDownMenuCell.menuAction
must take a single argumentDropDownMenuCell.menuTarget
must not be nil