All Projects → sunilsharma08 → Igcmenu

sunilsharma08 / Igcmenu

Licence: mit
Grid and Circular Menu for iOS.

Labels

Projects that are alternatives of or similar to Igcmenu

Customalertviewdialogue
Custom AlertView Dialogue is the world's most advanced alert view library. Custom AlertView Dialogue includes simple message popups, confirmation alerts, selector popups, action sheet bottom menus, and input/feedback contact forms.
Stars: ✭ 100 (-26.47%)
Mutual labels:  menu
Springfabmenu
A menu of FloatingActionButton items, designed to be anchored on an AppBarLayout.
Stars: ✭ 116 (-14.71%)
Mutual labels:  menu
Springactionmenu
This is a spring ActionMenu - 一个弹性的功能菜单
Stars: ✭ 120 (-11.76%)
Mutual labels:  menu
Slide Menu
A multilevel page menu with a smooth slide effect
Stars: ✭ 105 (-22.79%)
Mutual labels:  menu
Finicky
A macOS app for customizing which browser to start
Stars: ✭ 2,026 (+1389.71%)
Mutual labels:  menu
Draggablemenu
A draggable menu that shows a thumbnail preview of an image grid
Stars: ✭ 117 (-13.97%)
Mutual labels:  menu
Bmenu
A general purpose terminal menu that focuses on ease of configuration and use.
Stars: ✭ 94 (-30.88%)
Mutual labels:  menu
Obmenu Generator
A fast menu generator for the Openbox Window Manager.
Stars: ✭ 127 (-6.62%)
Mutual labels:  menu
Bootstrap Dropdown Hover
Bootstrap based responsive mulltilevel dropdown navigation menu with fascinating animations
Stars: ✭ 115 (-15.44%)
Mutual labels:  menu
Quickmenu
The new era of mobile navigation for the web, we're out of hamburgers.
Stars: ✭ 119 (-12.5%)
Mutual labels:  menu
Custom Reactjs Dropdown Components
Custom dropdown components for ReactJS
Stars: ✭ 110 (-19.12%)
Mutual labels:  menu
Sgtk Menu
GTK launchers for sway & other WMs w/ menu, dmenu, application grid and button bar
Stars: ✭ 112 (-17.65%)
Mutual labels:  menu
Menu
A JavaScript free menu library for Blazor and Razor Components applications.
Stars: ✭ 118 (-13.24%)
Mutual labels:  menu
Cascade
Nested popup menus with smooth height animations
Stars: ✭ 1,493 (+997.79%)
Mutual labels:  menu
Sheetmenu
Library for speedy implementation menu with BottomSheet
Stars: ✭ 121 (-11.03%)
Mutual labels:  menu
Pimenu
Simple fullscreen menu system for Raspberry Pi Touchscreen
Stars: ✭ 96 (-29.41%)
Mutual labels:  menu
Pushy
Pushy is a responsive off-canvas navigation menu using CSS transforms & transitions.
Stars: ✭ 1,488 (+994.12%)
Mutual labels:  menu
Wmenu
An easy to use menu structure for cli applications that prompts users to make choices.
Stars: ✭ 130 (-4.41%)
Mutual labels:  menu
Xlslidemenu
iOS 仿QQ的左右抽屉效果
Stars: ✭ 122 (-10.29%)
Mutual labels:  menu
Urpm
urpm 是一套基于Laravel封装的后台用户管理权限系统,能够让开发者不用再关心权限问题,实现后台功能的快速开发。
Stars: ✭ 118 (-13.24%)
Mutual labels:  menu

IGCMenu

IGCMenu library gives easy way to create Grid and Circular menu in app.

This is light weight and highly customisable menu.Support iOS 7 and above.

For swift check swift branch

Grid Menu Circular Menu
Grid Menu Circular Menu
Blured Background
Circular Menu

Features

  • Grid Menu
  • Circular Menu
  • Blur background
  • Enable/Diable menu background
  • Menu items can be without images/names

Installation

Installation with CocoaPods

You can use CocoaPods to install IGCMenu by adding it to your Podfile:

platform :ios, '8.0'

target 'TargetName' do
pod 'IGCMenu'
end

Then, run the following command:

$ pod install

Manually

Drag the folder "IGCMenu" with the source files into your project.

How to use

Import

#import "IGCMenu.h"

Conform Protocol

Optional if you don't want to get notify for menu items selection then skip this step.

Conform to IGCMenuDelegate

@interface ViewController : UIViewController<IGCMenuDelegate>

Create Instance Variable

Create instance variable of type IGCMenu.

@implementation ViewController{
    IGCMenu *igcMenu;
}

Create instance of class IGCMenu and configure attributes

if (igcMenu == nil) {
      igcMenu = [[IGCMenu alloc] init];
  }
  igcMenu.menuButton = self.menuButton;   //Pass refernce of menu button
  igcMenu.menuSuperView = self.view;      //Pass reference of menu button super view
  igcMenu.disableBackground = YES;        //Enable/disable menu background
  igcMenu.numberOfMenuItem = 5;           //Number of menu items to display
  
  //Menu background. It can be BlurEffectExtraLight,BlurEffectLight,BlurEffectDark,Dark or None
  igcMenu.backgroundType = BlurEffectDark;

/* Optional
Pass name of menu items
**/
  igcMenu.menuItemsNameArray = [NSArray arrayWithObjects:@"Home",@"Like",@"Search",@"User",@"Buy",nil];
  
/*Optional
Pass color of menu items
**/
UIColor *homeBackgroundColor = [UIColor colorWithRed:(33/255.0) green:(180/255.0) blue:(227/255.0) alpha:1.0];
UIColor *searchBackgroundColor = [UIColor colorWithRed:(139/255.0) green:(116/255.0) blue:(240/255.0) alpha:1.0];
UIColor *favoritesBackgroundColor = [UIColor colorWithRed:(241/255.0) green:(118/255.0) blue:(121/255.0) alpha:1.0];
UIColor *userBackgroundColor = [UIColor colorWithRed:(184/255.0) green:(204/255.0) blue:(207/255.0) alpha:1.0];
UIColor *buyBackgroundColor = [UIColor colorWithRed:(169/255.0) green:(59/255.0) blue:(188/255.0) alpha:1.0];
igcMenu.menuBackgroundColorsArray = [NSArray arrayWithObjects:homeBackgroundColor,favoritesBackgroundColor,searchBackgroundColor,userBackgroundColor, buyBackgroundColor,nil];

/*Optional
Pass menu items icons
**/
igcMenu.menuImagesNameArray = [NSArray arrayWithObjects:@"home.png",@"favourite.png",@"search.png",@"user.png",@"buy.png",nil];

/*Optional if you don't want to get notify for menu items selection
conform delegate
**/
igcMenu.delegate = self;

Array of name,color and icons will appear in the same order.

Show/Hide menu

On menu button press you can show/hide menu items by calling methods below.

To show/hide circular menu

[igcMenu showCircularMenu];  //Show circular menu
[igcMenu hideCircularMenu];  //Hide circular menu

To show/hide grid menu

[igcMenu showGridMenu];     //Show grid menu
[igcMenu hideGridMenu];     //Hide grid menu

Delegate Implementation

To get notify about menu item selection you must implement this method.

- (void)igcMenuSelected:(NSString *)selectedMenuName atIndex:(NSInteger)index{
//Perform any action on selection of menu item
}

On selecting any menu item it gives selected menu item name(if present otherwise nil) and index of menu item.Index of menu item start from 0.

Customisations

@property (nonatomic) NSInteger numberOfMenuItem;   //Number of menu items to show
@property (nonatomic) CGFloat menuRadius;           //Radius for circular menu
@property (weak,nonatomic) UIButton *menuButton;    //Menu button reference
@property (weak,nonatomic) UIView *menuSuperView;   //Menu button super view reference
@property (strong,nonatomic) NSArray *menuItemsNameArray;        //Menu items name array,it can be empty
@property (strong,nonatomic) NSArray *menuBackgroundColorsArray; //Menu items background color,it can be empty, default color is white
@property (strong,nonatomic) NSArray *menuImagesNameArray;       //Menu item icons array it can be empty
@property (nonatomic) BOOL disableBackground;       //Disable background view, default is TRUE
@property int maxColumn;                            //Maximium number of column,default is 3
@property int menuHeight;                           //height = width ,default is 65
@property UIColor *menuTitleColor;                  // Menu title color, default is white
@property UIFont *menuTitleFont;                    // Menu title font, default is system regular 12
/*
Set menu background.It can be BlurEffectExtraLight,BlurEffectLight,BlurEffectDark,Dark or None.
Default is BlurEffectDark.
*/
@property IGCMenuBackgroundOptions backgroundType;

Note

This library does not customise menu button(in example at bottom in dark blue background color) like making round,setting background color,changing icon like + and x. This is left on you to customise.You can take refernce form example if any help needed. Code to make button circle is:

self.menuButton.clipsToBounds = YES;
self.menuButton.layer.cornerRadius = self.menuButton.frame.size.height/2;

Let us know!

We will be happy if you sent us links to your projects where you use our library. And do let us know if you have any questions or suggestion regarding anything.

License

IGCMenu is available under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].