8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[MIT] Swiftでスライドメニューライブラリつくったよ

Last updated at Posted at 2017-09-20

初投稿になります。よろしくお願いします。

Snapchatみたいな上下左右から出てくるスライドメニューライブラリつくりました。

Multi Slide Menu

example1.gif

ライブラリはこちらにあります

特徴

・上下左右の4箇所にスライドメニューを設置できる
・ドラッグしている間の座標がとれる
・メニューが出た、隠れたのタイミングがとれる
・ボタンアクションからスライドメニューをトグルできる
・UIのカスタマイズが簡単

インストール

Xcodeに手動でドロップします。こちらのソースをとりこんでください。

#サンプル

  1. MultiSlideMenuViewController を継承したクラスを作成します。
class ViewController: MultiSlideMenuViewController {
  1. SlideMenuView を初期化して、ポジション、サイズを指定します。
let sideMenu = SlideMenuView(position: .Left, bounds: view.frame)
sideMenu.backgroundColor = .yellow
super.setupSlideMenus(views: [sideMenu])

こちらの例では、ポジションは Left、 スライドメニューのサイズは view.frame、背景色は黄色になります。

sample.gif

#カスタマイズしたい
スライドメニューのカスタマイズも簡単です。
SlideMenuView を継承したビューを作り、override func draw(_ rect: CGRect)内でカスタムUIを実現できます。

import UIKit

class CustomSlideMenu: SlideMenuView {
    override func draw(_ rect: CGRect) {
        super.draw(rect)
        // your code here for the custom UI...
    }
}

#トグルさせたい

SlideMenuView クラス の show(), hide()をコールすることで可能です。

サンプルコードはこちらにあります

#座標をとりたい
SlideMenuView クラス に 座標を感知する関数を用意しています。

willShow(point: CGPoint)
didShow(point: CGPoint)
willDisappear(point: CGPoint)
didDisappear(point: CGPoint)
startDragging(point: CGPoint)
continueDragging(point: CGPoint)
endDragging(point: CGPoint)

サンプルコードはこちらから

開発環境

iOS 8+
Swift 3.0+
Xcode 8.0+

8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?