Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import UIKit
- import Material
- import Alamofire
- import SwiftyJSON
- class Rewards_1_ViewController: UIViewController, UIScrollViewDelegate, UITableViewDataSource, UITableViewDelegate {
- let containerScrollView = UIScrollView()
- let navbarView: NavigationBarView = NavigationBarView()
- let contentView = UIView()
- let indikatorView = UIView()
- let personalView = UIView()
- let diningView = UIView()
- let partnerView = UIView()
- let menuButton = MaterialButton()
- let cartButton = MaterialButton()
- let personalButton = MaterialButton()
- let diningButton = MaterialButton()
- let partnerButton = MaterialButton()
- let tableView = UITableView()
- let dataTable = ["Data 1", "Data 2", "Data 3", "Data 4", "Data 5", "Data 6", "Data 7", "Data 8", "Data 9","Data 10"]
- override func viewDidLoad() {
- super.viewDidLoad()
- view.backgroundColor = MaterialColor.lime.base
- containerScrollView.contentSize = CGSize(width: view.frame.width * 3, height: view.frame.height)
- containerScrollView.delegate = self
- containerScrollView.pagingEnabled = true
- navbarView.backgroundColor = MaterialColor.white
- contentView.backgroundColor = MaterialColor.grey.darken1
- indikatorView.backgroundColor = UIColor(red: 72/255.0, green: 208/255.0, blue: 165/255.0, alpha: 1.0)
- personalView.backgroundColor = MaterialColor.blue.base
- diningView.backgroundColor = MaterialColor.amber.base
- partnerView.backgroundColor = MaterialColor.cyan.base
- // MARK: Menu button.
- let menuImage: UIImage? = UIImage(named: "Hamburger Menu@1x")
- menuButton.pulseColor = MaterialColor.white
- menuButton.pulseScale = false
- menuButton.setImage(menuImage, forState: .Normal)
- menuButton.setImage(menuImage, forState: .Highlighted)
- menuButton.addTarget(self, action: "menuAction:", forControlEvents: .TouchUpInside)
- let cartImage: UIImage? = UIImage(named: "Cart icon passive")
- cartButton.pulseColor = MaterialColor.white
- cartButton.pulseScale = false
- cartButton.setImage(cartImage, forState: .Normal)
- cartButton.setImage(cartImage, forState: .Highlighted)
- // cartButton.addTarget(self, action: "cartAction:", forControlEvents: .TouchUpInside)
- // MARK: Personal button.
- personalButton.setTitle(NSLocalizedString("Personal", comment: ""), forState: .Normal)
- personalButton.titleLabel!.font = UIFont(name: "GothamRounded-Medium", size: 14)
- personalButton.setTitleColor(UIColor.whiteColor(), forState: .Normal)
- personalButton.tag = 0
- personalButton.addTarget(self, action: "didTouchControlButton:", forControlEvents: .TouchUpInside)
- // MARK: Dining button.
- diningButton.setTitle(NSLocalizedString("Dining", comment: ""), forState: .Normal)
- diningButton.titleLabel!.font = UIFont(name: "GothamRounded-Medium", size: 14)
- diningButton.setTitleColor(UIColor.whiteColor(), forState: .Normal)
- diningButton.tag = 1
- diningButton.addTarget(self, action: "didTouchControlButton:", forControlEvents: .TouchUpInside)
- // MARK: Partner button.
- partnerButton.setTitle(NSLocalizedString("Partner", comment: ""), forState: .Normal)
- partnerButton.titleLabel!.font = UIFont(name: "GothamRounded-Medium", size: 14)
- partnerButton.setTitleColor(UIColor.whiteColor(), forState: .Normal)
- partnerButton.tag = 2
- partnerButton.addTarget(self, action: "didTouchControlButton:", forControlEvents: .TouchUpInside)
- // MARK: Tabel View
- tableView.delegate = self
- tableView.dataSource = self
- tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
- view.addSubview(containerScrollView)
- view.addSubview(navbarView)
- view.addSubview(contentView)
- diningView.addSubview(tableView)
- navbarView.addSubview(menuButton)
- navbarView.addSubview(cartButton)
- containerScrollView.addSubview(personalView)
- containerScrollView.addSubview(diningView)
- containerScrollView.addSubview(partnerView)
- contentView.addSubview(personalButton)
- contentView.addSubview(diningButton)
- contentView.addSubview(partnerButton)
- contentView.addSubview(indikatorView)
- }
- override func viewDidLayoutSubviews() {
- super.viewDidLayoutSubviews()
- // MARK: Table Frame
- tableView.frame = CGRectMake(0, 0, personalView.frame.width , personalView.frame.height)
- // MARK: View Frame
- containerScrollView.frame = view.frame
- contentView.frame = CGRect(x: 0, y: navbarView.frame.height, width: view.frame.width, height: 50)
- indikatorView.frame = CGRect(x: 0, y: contentView.frame.height - 5.0, width: contentView.frame.width / 3, height: 5.0)
- personalView.frame = CGRect(x: 0, y: navbarView.frame.height + contentView.frame.height, width: view.frame.width, height: view.frame.height)
- diningView.frame = CGRect(x: view.frame.width, y: navbarView.frame.height + contentView.frame.height, width: view.frame.width, height: view.frame.height)
- partnerView.frame = CGRect(x: view.frame.width * 2, y: navbarView.frame.height + contentView.frame.height, width: view.frame.width, height: view.frame.height)
- // MARK: Button Frame
- menuButton.frame = CGRect(x: 0, y: 20, width: 50, height: 50)
- cartButton.frame = CGRect(x: navbarView.frame.width - 50, y: 20, width: 50, height: 50)
- personalButton.frame = CGRect(x: 0, y: 0, width: contentView.frame.width / 3, height: contentView.frame.height)
- diningButton.frame = CGRect(x: contentView.frame.width / 3, y: 0, width: contentView.frame.width / 3, height: contentView.frame.height)
- partnerButton.frame = CGRect(x: contentView.frame.width / 3 * 2, y: 0, width: contentView.frame.width / 3, height: contentView.frame.height)
- }
- func didTouchControlButton(button: UIButton) {
- containerScrollView.setContentOffset(CGPoint(
- x: containerScrollView.frame.width * CGFloat(button.tag),
- y: 0),
- animated: true)
- }
- func menuAction(button: UIButton) {
- let menu = MenuViewController()
- self.presentViewController(menu, animated: true, completion: nil)
- }
- func scrollViewDidScroll(scrollView: UIScrollView) {
- var newFrame = self.indikatorView.frame
- newFrame.origin.x = scrollView.contentOffset.x / 3
- self.indikatorView.frame = newFrame
- }
- func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
- return dataTable.count
- }
- func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
- let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath)
- cell.textLabel?.text = self.dataTable[indexPath.row]
- return cell
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement