Need help with ExpandingMenu?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

monoqlo
450 Stars 90 Forks MIT License 66 Commits 23 Opened issues

Description

ExpandingMenu is menu button for iOS written in Swift.

Services available

!
?

Need anything else?

Contributors list

# 104,200
Swift
cocoapo...
carthag...
xml-par...
41 commits
# 235,311
Swift
pie
avfound...
Firebas...
9 commits
# 158
Objecti...
Swift
iOS
iphone
2 commits
# 510,005
Swift
Ruby
2 commits
# 29,738
Swift
carthag...
watchos
swift-3
2 commits
# 317,273
Ruby
Swift
carthag...
vimeo
2 commits

ExpandingMenu

CI Status Version License Platform

demo

ExpandingMenu is written in Swift.

Requirements

  • iOS 8.0+
  • Xcode 10.0+
  • Swift 3.x+

Installation

CocoaPods

You can install CocoaPods with the following command:

$ gem install cocoapods

To integrate ExpandingMenu into your Xcode project using CocoaPods, specify it in your

Podfile
:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

target '' do pod 'ExpandingMenu', '~> 0.4' end

Then, run the following command:

$ pod install

Carthage

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

To integrate ExpandingMenu into your Xcode project using Carthage, specify it in your

Cartfile
:
github "monoqlo/ExpandingMenu" ~> 0.4

Run

carthage update
to build the framework and drag the built
ExpandingMenu.framework
into your Xcode project.

Manually

  1. Download and drop
    /ExpandingMenu
    folder in your project.
  2. Congratulations!

Usage

import ExpandingMenu

let menuButtonSize: CGSize = CGSize(width: 64.0, height: 64.0) let menuButton = ExpandingMenuButton(frame: CGRect(origin: CGPoint.zero, size: menuButtonSize), image: UIImage(named: "chooser-button-tab")!, rotatedImage: UIImage(named: "chooser-button-tab-highlighted")!) menuButton.center = CGPoint(x: self.view.bounds.width - 32.0, y: self.view.bounds.height - 72.0) view.addSubview(menuButton)

let item1 = ExpandingMenuItem(size: menuButtonSize, title: "Music", image: UIImage(named: "chooser-moment-icon-music")!, highlightedImage: UIImage(named: "chooser-moment-icon-music-highlighted")!, backgroundImage: UIImage(named: "chooser-moment-button"), backgroundHighlightedImage: UIImage(named: "chooser-moment-button-highlighted")) { () -> Void in // Do some action }

・・・

let item5 = ExpandingMenuItem(size: menuButtonSize, title: "Sleep", image: UIImage(named: "chooser-moment-icon-sleep")!, highlightedImage: UIImage(named: "chooser-moment-icon-sleep-highlighted")!, backgroundImage: UIImage(named: "chooser-moment-button"), backgroundHighlightedImage: UIImage(named: "chooser-moment-button-highlighted")) { () -> Void in // Do some action }

menuButton.addMenuItems([item1, item2, item3, item4, item5])

Customize

ExpandingMenuButton

// Bottom dim view
menuButton.bottomViewColor = UIColor.redColor()
menuButton.bottomViewAlpha = 0.2

// Whether the tapped action fires when title are tapped menuButton.titleTappedActionEnabled = false

// Menu item direction menuButton.expandingDirection = .Bottom menuButton.menuTitleDirection = .Right

// The action when the menu appears/disappears menuButton.willPresentMenuItems = { (menu) -> Void in print("MenuItems will present.") }

menuButton.didPresentMenuItems = { (menu) -> Void in print("MenuItems will present.") }

menuButton.willDismissMenuItems = { (menu) -> Void in print("MenuItems dismissed.") }

menuButton.didDismissMenuItems = { (menu) -> Void in print("MenuItems will present.") }

// Expanding Animation menuButton.expandingAnimations = [] // No animation

menuButton.expandingAnimations = CustomAnimationOptions.all.symmetricDifference(.menuButtonRotate)

// Folding Animation menuButton.foldingAnimations = .all

menuButton.foldingAnimations = [.MenuItemMoving, .MenuItemFade, .MenuButtonRotation]

ExpandingMenuItem

// Title
item.title = "text"
item.titleColor = UIColor.redColor()

// Title margin to menu item item.titleMargin = 4

Author

monoqlo, [email protected]

License

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

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.