Latest 1.2.0
License MIT
Platforms ios 8.0, requires ARC

Medium 1.8.168 menu in Swift. That is still one of my favorite menus because that is easy to use and looks beautiful.

Inspired by RBMenu. I made that a reference and customized a fine point.





The easiest way to get started is to use CocoaPods. Add the following line to your Podfile:

platform :ios, '8.0'
# The following is a Library of Swift.
pod 'MediumMenu'

Then, run the following command:

pod install


Carthage is a decentralized dependency manager that automates the process of adding frameworks to your Cocoa application.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

To integrate MediumMenu into your Xcode project using Carthage, specify it in your Cartfile:

github "pixyzehn/MediumMenu"

Run carthage update.

$ carthage update


Add the MediumMenu (including MediumMenu.swift) folder into your project.

Due to the lack of choice whether status bar is hidden or not, Edit info.plist in your project.

Add "Status bar is initially hidden" and "View controller-based status bar appearance" keys to your info.plist. Set the values to "YES" and "NO" respectively.

You can set the following property. If you don’t set the these property, default value is used.

let menu = MediumMenu(items: [item1, item2, item3, item4, item5], forViewController: self)
menu.textColor = UIColor.purpleColor()                        // Default is UIColor(red:0.98, green:0.98, blue:0.98, alpha:1).
menu.highLightTextColor = UIColor.redColor()                  // Default is UIColor(red:0.57, green:0.57, blue:0.57, alpha:1).
menu.backgroundColor = UIColor.yellowColor()                  // Default is UIColor(red:0.05, green:0.05, blue:0.05, alpha:1).
menu.titleFont = UIFont(name: "AvenirNext-Regular", size: 30) // Default is UIFont(name: "HelveticaNeue-Light", size: 28).
menu.titleAlignment = .Center                                 // Default is .Left.
menu.height = 370                                             // Default is 466.
menu.bounceOffset = 10                                        // Default is 0.
menu.velocityTreshold = 700                                   // Default is 1000.
menu.panGestureEnable = false                                 // Default is true.
menu.highLighedIndex = 3                                      // Default is 1.
menu.heightForRowAtIndexPath = 40                             // Default is 57.
menu.heightForHeaderInSection = 0                             // Default is 30.
menu.enabled = false                                          // Default is true.
menu.animationDuration = 0.33                                 // Default is 0.2.

In the rest of the details, refer to MediumMenu-Sample project.


MediumMenu is really similar to menu of real Medium for iOS.





Latest podspec

    "name": "MediumMenu",
    "version": "1.2.0",
    "summary": "menu based on Medium iOS app",
    "homepage": "",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    "authors": {
        "Nagasawa Hiroki": "[email protected]"
    "requires_arc": true,
    "platforms": {
        "ios": "8.0"
    "source": {
        "git": "",
        "tag": "1.2.0"
    "source_files": "MediumMenu/*.swift"

Pin It on Pinterest

Share This