All Projects → arn00s → Cariocamenu

arn00s / Cariocamenu

Licence: mit
The fastest zero-tap iOS menu.

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Cariocamenu

Skeletonview
☠️ An elegant way to show users that something is happening and also prepare them to which contents they are awaiting
Stars: ✭ 10,804 (+1276.31%)
Mutual labels:  ios-ui, ios-animation
Qmui ios
QMUI iOS——致力于提高项目 UI 开发效率的解决方案
Stars: ✭ 6,433 (+719.49%)
Mutual labels:  ios-ui, ui-components
Wobbly
(Animate CSS) animations for iOS. An easy to use library of iOS animations. As easy to use as an easy thing.
Stars: ✭ 150 (-80.89%)
Mutual labels:  ios-ui, ios-animation
Lihalert
Advance animated alerts for iOS written in Swift
Stars: ✭ 34 (-95.67%)
Mutual labels:  ios-ui, ios-animation
Iosproject
IOS综合项目,完善的框架,路由模块化设计,集成科大讯飞SDK方便iOS基本输入控件实现语音辅助输入,UI效果参照京东APP,JS与OC交互,ionic跨平台开发,MQTT 协议,即时通讯协议,视屏播放,跑马灯效果 仿美团地图定位,城市收索, 友盟分享,基础动画 增加FCUIID帮助类,引导页功能模块,照片上传 ,UIView自定义导航栏,文件下载,Masonry 案例,fmdb,数据库,sqlite,百度地图,二维码,照片上传,照片上传有进度,列表倒计时,H5和原生交互,自定义各种弹框,常见表单类型,人脸识别,列表加载图片,列表拖拽,日历操作,导航条渐变,核心动画,动画特效等等
Stars: ✭ 291 (-62.93%)
Mutual labels:  ios-ui, ios-animation
Nvactivityindicatorview
A collection of awesome loading animations
Stars: ✭ 10,031 (+1177.83%)
Mutual labels:  ios-ui, ios-animation
Pvview
A small library that helps you to make an amazing parallax view
Stars: ✭ 227 (-71.08%)
Mutual labels:  ios-ui, ios-animation
Slidingtabbar
A custom TabBar view with sliding animation written in Swift.
Stars: ✭ 84 (-89.3%)
Mutual labels:  ios-ui, ui-components
circularProgressBar
This repo contains a demo app for circularProgressBar.swift
Stars: ✭ 17 (-97.83%)
Mutual labels:  ios-animation, ios-ui
Nativepopup
Clone of Apple iOS App's feedback popup, and easily customizable.
Stars: ✭ 247 (-68.54%)
Mutual labels:  ios-ui, ios-animation
Qmuidemo ios
Sample Code for QMUI iOS
Stars: ✭ 912 (+16.18%)
Mutual labels:  ios-ui, ui-components
Marqueelabel
Charles Powell
Stars: ✭ 3,741 (+376.56%)
Mutual labels:  ios-ui, ios-animation
Mycoretextlabel
图文混排 , 实现图片文字混排 , 可显示常规链接比如网址,@,#话题#,手机号 , 邮箱号等 , 可以自定义链接字,设置关键字高亮等功能 . 适用于微博,微信,IM聊天对话等场景 . 实现这些功能仅用了几百行代码,耦合性也较低
Stars: ✭ 192 (-75.54%)
Mutual labels:  ios-ui, ios-animation
Rhplaceholder
Show pleasant loading view for your users 😍
Stars: ✭ 238 (-69.68%)
Mutual labels:  ios-ui, ios-animation
Kdintroview
Stars: ✭ 300 (-61.78%)
Mutual labels:  ios-ui, ios-animation
Iosproject
iOS project of collected some demos for iOS App, use Objective-C
Stars: ✭ 5,357 (+582.42%)
Mutual labels:  ios-ui, ios-animation
Glimmer.js
Central repository for the Glimmer.js project
Stars: ✭ 678 (-13.63%)
Mutual labels:  ui-components
Liquidswipe
Android LiquidSwipe Library
Stars: ✭ 721 (-8.15%)
Mutual labels:  swipe
Atui
A Vue.js 2.0 UI Toolkit for Web
Stars: ✭ 674 (-14.14%)
Mutual labels:  ui-components
Macaw
Powerful and easy-to-use vector graphics Swift library with SVG support
Stars: ✭ 5,756 (+633.25%)
Mutual labels:  ios-animation

PRs Welcome Carthage compatible Version iOS 9.0+ Swift 4.0+ License CocoaPods Twitter URL

⚡️ Quicklook

The fastest zero-tap iOS menu

CariocaMenu is a simple, elegant, fast navigation menu for your iOS apps.

🏆 Features

  • [x] Accessible from a single swipe of the left/right screen edge
  • [x] Accessible with a tap on the indicator
  • [x] Customisable menu indicator
  • [x] Menu Item supports image & emoji/text
  • [x] Boomerang mode
  • [x] Supports rotation (Full AutoLayout)
  • [x] Supports iPhone X & the Notch !
  • [x] Complete Technical Documentation

📝 Requirements

  • AutoLayout
  • iOS 9.0+
  • Swift 4.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.
  • If you use the control, contact me to mention your app on this page.

📲 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', '~> 2.0.1'

Carthage

Carthage is a decentralised 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 CariocaMenu.framework into your Xcode project.

Manually

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

Just Drag&Drop all the files under Sources/ into your project.


💻 Usage

Preparing your menu controller

To create and display your menu, you'll need to create a custom CariocaController (UITableViewController & CariocaDataSource)

This will define your menu settings & appearance. Check DemoMenuContentController.swift for code sample.

Creating your menu

For the complete code, check MainViewController.swift.

if let controller = self.storyboard?.instantiateViewController(withIdentifier: "DemoMenu")
    as? CariocaController {
      addChildViewController(controller)
      carioca = CariocaMenu(controller: controller,
                            hostView: self.view,
                            edges: [.right, .left],
                            delegate: self,
                            indicator: CariocaCustomIndicatorView()
                            )
      carioca.addInHostView()
}

Managing rotation

To be able to manage the rotation of the menu, you'll need to forward the rotation event to your menu instance.

override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
  coordinator.animateAlongsideTransition(in: self.view, animation: nil, completion: { [weak self] _ in
    self?.carioca?.hostViewDidRotate()
  })
}

Creating your custom indicator

Here's the simplest custom indicator. Feel free to check the CariocaIndicatorConfiguration extension for more customisation possibilities.

class CariocaCustomIndicatorView: UIView, CariocaIndicatorConfiguration {
  ///This will use the basic shape, and change the color to black.
  var color: UIColor = UIColor.black
}

Boomerang

A boomerang always comes back to it's original place. By default, the boomerang is set to none. It means that the menu will stay where the user let it.

The other boomerang options are :

  • horizontal : The indicator will return always on the original edge.
  • vertical : The indicator will return always on the original Y position. It may switch from Edge.
  • originalPosition : The indicator will always come back to it's original position

👨‍💻 TODO

  • Add a check for the edges at the initialisation. (Only .left & .right are allowed)
  • Add UI Tests
  • Add a live tutorial to indicate users how to get the most of this menu

⚠️ 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 this idea was born while I was there.

🤙🏼 Contact

❤️ Contributions

This is an open source project, feel free to contribute!

  • Open an issue.
  • Propose your own fixes, suggestions and open a pull request with the changes.

See all contributors

Project generated with SwiftPlate

📝 License

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

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].