Ios/swift/外部ライブラリ/TabPageViewController
提供: 初心者エンジニアの簡易メモ
TabPageViewControllerとは
無限スクロール付きPageViewライブラリ
Ios/swift/外部ライブラリ/PagingMenuController [ショートカット]
よりこちらの方が良い
公式:https://github.com/EndouMari/TabPageViewController
参考:http://tech.vasily.jp/entry/tab_page_viewcontroller
公式サンプル
let tc = TabPageViewController.create() let vc1 = UIViewController() vc1.view.backgroundColor = UIColor(red: 251/255, green: 252/255, blue: 149/255, alpha: 1.0) let vc2 = UIViewController() vc2.view.backgroundColor = UIColor(red: 252/255, green: 150/255, blue: 149/255, alpha: 1.0) let vc3 = UIViewController() vc3.view.backgroundColor = UIColor(red: 149/255, green: 218/255, blue: 252/255, alpha: 1.0) let vc4 = UIViewController() vc4.view.backgroundColor = UIColor(red: 149/255, green: 252/255, blue: 197/255, alpha: 1.0) let vc5 = UIViewController() vc5.view.backgroundColor = UIColor(red: 252/255, green: 182/255, blue: 106/255, alpha: 1.0) tc.tabItems = [(vc1, "Mon."), (vc2, "Tue."), (vc3, "Wed."), (vc4, "Thu."), (vc5, "Fri.")] tc.isInfinity = true let nc = UINavigationController() nc.viewControllers = [tc] var option = TabPageOption() option.currentColor = UIColor(red: 246/255, green: 175/255, blue: 32/255, alpha: 1.0) tc.option = option navigationController?.pushViewController(tc, animated: true)
サブクラスで継承してタイプのサンプル
-AppDelegate.swift
import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? var navigationController: UINavigationController! func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { let tc = storyboard?.instantiateViewControllerWithIdentifier("CustomTabPageViewControllerId") as! CustomTabPageViewController let vc1 = UIViewController() vc1.view.backgroundColor = UIColor(red: 251/255, green: 252/255, blue: 149/255, alpha: 1.0) let vc2 = UIViewController() vc2.view.backgroundColor = UIColor(red: 252/255, green: 150/255, blue: 149/255, alpha: 1.0) let vc3 = UIViewController() vc3.view.backgroundColor = UIColor(red: 149/255, green: 218/255, blue: 252/255, alpha: 1.0) let vc4 = UIViewController() vc4.view.backgroundColor = UIColor(red: 149/255, green: 252/255, blue: 197/255, alpha: 1.0) let vc5 = UIViewController() vc5.view.backgroundColor = UIColor(red: 252/255, green: 182/255, blue: 106/255, alpha: 1.0) tc.tabItems = [(vc1, "Mon."), (vc2, "Tue."), (vc3, "Wed."), (vc4, "Thu."), (vc5, "Fri.")] tc.isInfinity = true let nc = UINavigationController() nc.viewControllers = [tc] var option = TabPageOption() option.currentColor = UIColor(red: 246/255, green: 175/255, blue: 32/255, alpha: 1.0) tc.option = option navigationController?.pushViewController(tc, animated: true) } }
-CustomTabPageViewController.swift
import UIKit import TabPageViewController class CustomTabPageViewController: TabPageViewController { override func viewDidLoad() { super.viewDidLoad() } @IBAction func pushItem(sender: UIBarButtonItem) { print("Push Navi Item") } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } }