浜松のWEBシステム開発・スマートフォンアプリ開発・RTK-GNSS関連の開発はお任せください
株式会社シーポイントラボ
TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:静岡県浜松市中区富塚町1933-1 佐鳴湖パークタウンサウス2F

【Swift】スワイプでページ遷移できるTabViewを実装できるライブラリ「Parchment」

今回は、スワイプでページ遷移できるタブ機能を実装するためのライブラリをご紹介。
この記事を投稿している 2020年4月9日時点で 4日前に更新されているのでかなり新しいライブラリです。
以前は PageMenu というライブラリを利用していましたが、エラーが発生して対処できなかったので、サクッと乗り換えました。

GitHub のページはこちらから。

GitHub – rechsteiner/Parchment: A paging view controller with a highly customizable menu
https://github.com/rechsteiner/Parchment

 

まず、CocoaPods を使って、ライブラリをインストールします。
Podfile に下記を追加して、iTerm などのコマンドラインツールで pod install を実行してください。

pod 'Parchment'

なお、こちらのライブラリは iOS 8.2 以上が必要です。
それより下だと、pod install を実行したときにエラーになりますので、ご注意ください。

インストールが完了したら、プロジェクトを Xcode で開き、任意のコントローラに実装していきます。
import Parchment を追加します。
で、タブで表示したい UIViewController を下記のように追加していきます。

let firstViewController = UIViewController()
firstViewController.title = "タブ1"
let secondViewController = UIViewController()
secondViewController.title = "タブ2"

// PagingViewController に ViewController を格納
let pagingViewController = PagingViewController(viewControllers: [
  firstViewController,
  secondViewController
])

// View に追加
self.addChild(pagingViewController)
self.view.addSubview(pagingViewController.view)
pagingViewController.didMove(toParent: self)
pagingViewController.view.translatesAutoresizingMaskIntoConstraints = false

NSLayoutConstraint.activate([
    pagingViewController.view.leadingAnchor.constraint(equalTo: view.leadingAnchor),
    pagingViewController.view.trailingAnchor.constraint(equalTo: view.trailingAnchor),
    pagingViewController.view.bottomAnchor.constraint(equalTo: view.bottomAnchor),
    pagingViewController.view.topAnchor.constraint(equalTo: view.topAnchor)
])

コードは以上です。
あとはビルドして実行して動作を確認してください。

タブを追加したいだけなら UITabBarController もあるのですが、これは基本的にページ下部にタブが表示されるし、自分でスワイプ機能を実装するのは時間がかかるかと思い、こちらのライブラリを導入しました。
見た目もシンプルだし、実装もそこまで難しくなかったのでオススメです!

 

以上、Swift でスワイプでページ遷移できる TabView を実装するためのライブラリ「Parchment」のご紹介でした。
ご参考になれば幸いです。

  • この記事いいね! (0)