| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- //
- // LeftViewController.swift
- // Gasteizko Margolariak
- //
- // Created by Inigo Valentin on 2016-08-23
- // Copyright © 2016 Inigo Valentin. All rights reserved.
- //
- // Based on the work of Yuji Hato.
- //
- import UIKit
- enum LeftMenu: Int {
- case Main = 0
- case Home
- case Location
- case Lablanca
- case Schedule
- case Gmschedule
- case Activities
- case Blog
- case Gallery
- case Settings
- }
- protocol LeftMenuProtocol : class {
- func changeViewController(menu: LeftMenu)
- }
- class LeftViewController : UIViewController, LeftMenuProtocol {
-
- @IBOutlet weak var tableView: UITableView!
- var menus = ["Home", "Localizacion", "La Blanca", "Programa de Fiestas", "Programa Margolari", "Actividades", "Blog", "Galeria", "Ajustes"]
- var mainViewController: UIViewController!
- var homeViewController: UIViewController!
- var locationViewController: UIViewController!
- var lablancaViewController: UIViewController!
- var scheduleViewController: UIViewController!
- var gmscheduleViewController: UIViewController!
- var activitiesViewController: UIViewController!
- var blogViewController: UIViewController!
- var galleryViewController: UIViewController!
- var settingsViewController: UIViewController!
-
- // var imageHeaderView: ImageHeaderView!
-
- required init?(coder aDecoder: NSCoder) {
- super.init(coder: aDecoder)
- }
-
- override func viewDidLoad() {
- super.viewDidLoad()
- //self.tableView.separatorColor = UIColor(red: 0, green: 0, blue: 0, alpha: 1.0)
-
- let storyboard = UIStoryboard(name: "Main", bundle: nil)
-
- let homeViewController = storyboard.instantiateViewControllerWithIdentifier("HomeViewController") as! HomeViewController
- self.homeViewController = UINavigationController(rootViewController: homeViewController)
-
- let locationViewController = storyboard.instantiateViewControllerWithIdentifier("LocationViewController") as! LocationViewController
- self.locationViewController = UINavigationController(rootViewController: locationViewController)
-
- let lablancaViewController = storyboard.instantiateViewControllerWithIdentifier("LablancaViewController") as! LablancaViewController
- self.lablancaViewController = UINavigationController(rootViewController: lablancaViewController)
-
- let scheduleViewController = storyboard.instantiateViewControllerWithIdentifier("ScheduleViewController") as! ScheduleViewController
- self.scheduleViewController = UINavigationController(rootViewController: scheduleViewController)
-
- let gmscheduleViewController = storyboard.instantiateViewControllerWithIdentifier("GmscheduleViewController") as! GmscheduleViewController
- self.gmscheduleViewController = UINavigationController(rootViewController: gmscheduleViewController)
-
- let activitiesViewController = storyboard.instantiateViewControllerWithIdentifier("ActivitiesViewController") as! ActivitiesViewController
- self.activitiesViewController = UINavigationController(rootViewController: activitiesViewController)
-
- let blogViewController = storyboard.instantiateViewControllerWithIdentifier("BlogViewController") as! BlogViewController
- self.blogViewController = UINavigationController(rootViewController: blogViewController)
-
- let galleryViewController = storyboard.instantiateViewControllerWithIdentifier("GalleryViewController") as! GalleryViewController
- self.galleryViewController = UINavigationController(rootViewController: galleryViewController)
-
- let settingsViewController = storyboard.instantiateViewControllerWithIdentifier("SettingsViewController") as! SettingsViewController
- self.settingsViewController = UINavigationController(rootViewController: settingsViewController)
-
- self.tableView.registerCellClass(BaseTableViewCell.self)
-
- //self.imageHeaderView = ImageHeaderView.loadNib()
- //self.view.addSubview(self.imageHeaderView)
- }
-
- override func viewDidAppear(animated: Bool) {
- super.viewDidAppear(animated)
- }
-
- override func viewDidLayoutSubviews() {
- super.viewDidLayoutSubviews()
- //self.imageHeaderView.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: 160)
- self.view.layoutIfNeeded()
- }
-
- func changeViewController(menu: LeftMenu) {
- switch menu {
- case .Main:
- self.slideMenuController()?.changeMainViewController(self.mainViewController, close: true)
- case .Home:
- self.slideMenuController()?.changeMainViewController(self.homeViewController, close: true)
- case .Location:
- self.slideMenuController()?.changeMainViewController(self.locationViewController, close: true)
- case .Lablanca:
- self.slideMenuController()?.changeMainViewController(self.lablancaViewController, close: true)
- case .Schedule:
- self.slideMenuController()?.changeMainViewController(self.scheduleViewController, close: true)
- case .Gmschedule:
- self.slideMenuController()?.changeMainViewController(self.gmscheduleViewController, close: true)
- case .Activities:
- self.slideMenuController()?.changeMainViewController(self.activitiesViewController, close: true)
- case .Blog:
- self.slideMenuController()?.changeMainViewController(self.blogViewController, close: true)
- case .Gallery:
- self.slideMenuController()?.changeMainViewController(self.galleryViewController, close: true)
- case .Settings:
- self.slideMenuController()?.changeMainViewController(self.settingsViewController, close: true)
- }
- }
- }
- extension LeftViewController : UITableViewDelegate {
- func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
- if let menu = LeftMenu(rawValue: indexPath.item) {
- switch menu {
- case .Main, .Home, .Location, .Lablanca, .Schedule, .Gmschedule, .Activities, .Blog, .Gallery, .Settings:
- return BaseTableViewCell.height()
- }
- }
- return 0
- }
- }
- extension LeftViewController : UITableViewDataSource {
-
- func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
- return menus.count
- }
- func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
-
- if let menu = LeftMenu(rawValue: indexPath.item) {
- switch menu {
- case .Main, .Home, .Location, .Lablanca, .Schedule, .Gmschedule, .Activities, .Blog, .Gallery, .Settings:
- let cell = BaseTableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: BaseTableViewCell.identifier)
- cell.setData(menus[indexPath.row])
- return cell
- }
- }
- return UITableViewCell()
- }
-
- func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
- if let menu = LeftMenu(rawValue: indexPath.item) {
- self.changeViewController(menu)
- }
- }
- }
- extension LeftViewController: UIScrollViewDelegate {
-
-
- func scrollViewDidScroll(scrollView: UIScrollView) {
- if self.tableView == scrollView {
-
- }
- }
- }
|