[iOS] SwiftでSmartNewsみたいな、横スワイプで画面を切り替えるライブラリを作りました
タブ表示、且つ、スワイプで画面を横に切り替えるライブラリをSwiftで作りました。SmartNewsや、AndroidでいうとViewPagerのような動きができるものです。ページ下部に示すRichardKimさんのコードを参考に、というよりそのコードをSwift化したものになります。iOS7,iOS8、iPhone,iPadで動きます。
githubにUPしております。
https://github.com/hayakawatomoaki/SwipeBetweenViewControllers
基本的には電子書籍のページ送りによく使われるUIPageViewControllerを使ってます。各ControllerをUIPageViewControllerで切り替えています。ViewControllerベースで分離ができるので、ソース可読性や再利用性が楽だと思います。あとこのライブラリ自体はStoryBoardは使用しておりません。各ControllerをStoryBoardで作ってはめ込むもよし、ソースのみでViewControllerを作ってはめ込むもよしです。
作りは単純でこのライブラリ自体は「SwipeBetweenViewControllers.swift」のみなので、このようなタブ横スワイプのUIを作る際にも参考になるかと思います。
参考:
RichardKimさん
https://github.com/cwRichardKim/RKSwipeBetweenViewControllers
追記。参考までに。。。
下記は、よりSmartNewsに近いUIを実現しているものです。
サンプルソースではViewControllerを切り替えるのではなく、1つのViewController内でSmartNewsUIを管理しています。この作りに忠実に従うなら、Viewの切り替えになるのかな。ViewControllerで管理したければUIPageViewControllerなどを使う工夫が必要かと思われます。