GithubHelp home page GithubHelp logo

helongcn / cariocamenu Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zigzagg16/cariocamenu

0.0 1.0 0.0 4.86 MB

The fastest zero-tap iOS menu.

License: MIT License

Ruby 1.06% Swift 79.06% Objective-C 19.88%

cariocamenu's Introduction

CariocaMenu

Cocoapods Compatible Carthage Compatible

The fastest zero-tap iOS menu

CariocaMenu is a simple, elegant, fast, modern, innovative, ..., navigation menu for your iOS app.

Features

  • Accessible from a single swipe of the screen edge
  • Accessible with a tap on the indicator
  • Customisation for each side of the screen
  • Boomerang mode
  • Full AutoLayout
  • Easily customisable
  • Complete Documentation

Requirements

  • Autolayout
  • iOS 8.0+
  • Xcode 7.0

Communication

  • If you need help, use Stack Overflow. (Tag 'CariocaMenu')
  • If you'd like to ask a general question, use Stack Overflow.
  • If you found a bug, open an issue.
  • If you have a feature request, open an issue.
  • If you want to contribute, submit a pull request.

Installation

CocoaPods

CariocaMenu is now available on CocoaPods. Simply add the following to your project Podfile, and you'll be good to go.

use_frameworks!

pod 'CariocaMenu'

Carthage

Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

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

github "arn00s/cariocamenu"

Run carthage to build the framework and drag the built cariocaframework.framework into your Xcode project.

Manually

If you prefer, you can integrate CariocaMenu into your project manually.

Source File

Simply add the CariocaMenu.swift source file directly into your project.


Usage

Creating your menu

import CariocaMenu

//Initialise the tableviewcontroller of the menu
let menuCtrl = self.storyboard?.instantiateViewControllerWithIdentifier("MyMenu") as! MyMenuContentController
        
//Set the tableviewcontroller for the menu
menu = CariocaMenu(menuController: menuCtrl)

Adding it to a view

menu.addInView(yourView)

Boomerang

A boomerang always comes back to it's original place (in theory). By default, the boomerang is set to None. It means that the menu will stay where the user let it. The two other boomerang options are :

  • Vertical : Will always come back at the same vertical position, but on the edge the user has chosen.
menu.boomerang = .Vertical
  • VerticalAndHorizontal : Will always come back at the same position (vertical + same screen edge)
menu.boomerang = .VerticalAndHorizontal

TODO

  • Add a live tutorial to indicate users how to get the most of this menu
  • Unit tests / UIAutomation Tests
  • Check support for Objective-C projects
  • Add emoji support instead of the menu images
  • Add live background update when preselecting a menu item. The goal is to preview the preselected view before selection (with a blur effect)

Known issues

Check the (GitHub issues)

FAQ

Why should I use CariocaMenu?

You're starting a new iOS app, and you want to innovate on the user experience.

Why the name CariocaMenu?

I didn't want to use the same naming convention that EVERYONE uses. I could have named it ASSuperCoolMenu, but it sucks. A Carioca is someone who lives in Rio de Janeiro. I lived there for two months, and I had this menu idea while walking on the beach ๐Ÿ˜


Contact

Creator

License

CariocaMenu is released under the MIT license. See LICENSE for details.

cariocamenu's People

Contributors

zigzagg16 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.