28 Feb 2017

YNDropDownMenu – Awesome iOS drop down menu with Swift 3

Version Carthage Compatible License: MIT Platform Swift 3.0

Listed 2nd at trending open source and 3rd at trending developer in Github Swift category [02/24/2017]

Updates

See CHANGELOG for details

Intoduction

The eligible dropdown menu, written in Swift 3, appears dropdown menu to display a view of related items when a user click on the dropdown menu. You can customize dropdown view whatever you like (e.g. UITableView, UICollectionView… etc)

demo demo2

Requirements

YNDropDownMenu written in Swift 3. Compatible with iOS 8.0+

Installation

Cocoapods

YNDropDownMenu is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'YNDropDownMenu'

Carthage

github "younatics/YNDropDownMenu"

Usage

import YNDropDownMenu

Init view with frame[CGRect], Views[UIView] and Titles[String]

let view = YNDropDownMenu(frame:frame, dropDownViews: dropDownViews, dropDownViewTitles: ["Apple", "Banana", "Kiwi", "Pear"])
self.addSubview(view)

done!

Call hide menu in drop down views

Init view with frame[CGRect], YNDropDownViews[YNDropDownView] and Titles[String]

let view = YNDropDownMenu(frame:frame, YNDropDownViews: yNDropDownViews, dropDownViewTitles: ["Apple", "Banana", "Kiwi", "Pear"])
self.addSubview(view)

Custom YNDropDownView

class DropDownView: YNDropDownView
self.hideMenu()

Customize

Show & Hide Menu

view.showAndHideMenuAt(index:1)

// When view is already opened
view.hideMenu()

Disable & Enable Menu

view.disabledMenuAt(index: 2)
view.enabledMenuAt(index: 3)

Button Image with 3 situations (normal, selected, disabled)

view.setImageWhen(normal: UIImage(named: "arrow_nor"), selected: UIImage(named: "arrow_sel"), disabled: UIImage(named: "arrow_dim"))

Label color with 3 situations

view.setLabelColorWhen(normal: UIColor.black, selected: UIColor.blue, disabled: UIColor.gray)

Label font with 3 situations

view.setLabelFontWhen(normal: UIFont.systemFont(ofSize: 12), selected: UIFont.boldSystemFont(ofSize: 12), disabled: UIFont.systemFont(ofSize: 12))

BlurEffectView

// Enadbled or Disabled first (Default true)
view.backgroundBlurEnabled = false

// Use this line if you want to change UIBlurEffectStyle
view.blurEffectStyle = .light

// Or customize blurEffectView(UIView)
let backgroundView = UIView()
backgroundView.backgroundColor = UIColor.black
view.blurEffectView = backgroundView

// Animation end alpha
view.blurEffectViewAlpha = 0.7

Animation duration

view.showMenuDuration = 0.5
view.hideMenuDuration = 0.3

Animation velocity, damping

view.showMenuSpringVelocity = 0.5
view.showMenuSpringWithDamping = 0.8

view.hideMenuSpringVelocity = 0.9
view.hideMenuSpringWithDamping = 0.8

Author

Younatics

License

YNDropDownMenu is available under the MIT license. See the LICENSE file for more info.

 

Source: https://github.com/younatics/YNDropDownMenu

Leave a Reply

%d bloggers like this: