// // SplashScreenViewController.swift // GMERemittance // // Created by gme_2 on 10/09/2018. //Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved. // import UIKit class SplashScreenViewController: UIViewController { // MARK: IBOutlets @IBOutlet weak var imageViewDotCenter: UIImageView! @IBOutlet weak var imageViewDotLeft: UIImageView! @IBOutlet weak var imageViewDotRight: UIImageView! @IBOutlet weak var imageViewHomeLogo: UIImageView! @IBOutlet weak var labelHomeDescription: UILabel! @IBOutlet weak var constraintLeft: NSLayoutConstraint! @IBOutlet weak var constraintRight: NSLayoutConstraint! @IBOutlet weak var buttonLogin: UIButton! @IBOutlet weak var buttonSignUp: UIButton! // MARK: Properties var counter: Int = 0 let imageDotSelected = UIImage(named: "dotSelected") let imageDotUnselected = UIImage(named: "dotUnselected") let imageFirst = UIImage(named: "ic_splashFirstScreen") let imageSecond = UIImage(named: "ic_splashSecondScreen") let imageThird = UIImage(named: "ic_splashThirdScreen") let descriptionFirst = "Hassle free money transfer to your loved ones" let descriptionSecond = "Connect to local community" let descriptionThird = "Earn reward points and get surprise gifts" var presenter: SplashScreenModuleInterface? // MARK: VC's Life cycle override func viewDidLoad() { super.viewDidLoad() self.setup() } override func viewWillAppear(_ animated: Bool) { super.viewWillDisappear(animated) self.navigationItem.title = "" self.hideNavBar() } override func viewWillDisappear(_ animated: Bool) { super.viewWillDisappear(animated) self.navigationItem.title = "" } // MARK: IBActions @IBAction func login(_ sender: UIButton) { self.presenter?.login() } @IBAction func register(_ sender: UIButton) { self.presenter?.register() } // MARK: Other Functions private func hideNavBar() { self.navigationController?.isNavigationBarHidden = true self.navigationController?.navigationBar.barTintColor = UIColor.init(hex: "ED1C24") self.navigationController?.navigationBar.isTranslucent = false self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default) self.navigationController?.navigationBar.shadowImage = UIImage() } private func setup() { // all setup should be done here hideNavBar() setUpButtons() imageViewDotLeft.image = UIImage(named: "dotSelected") let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(_SplashScreenViewController.handleSwipes(_:))) let rightSwipe = UISwipeGestureRecognizer(target: self, action: #selector(_SplashScreenViewController.handleSwipes(_:))) leftSwipe.direction = .left rightSwipe.direction = .right view.addGestureRecognizer(leftSwipe) view.addGestureRecognizer(rightSwipe) // Timer.scheduledTimer(timeInterval: 2, target: self, selector: #selector(_SplashScreenViewController.updateImage), userInfo: nil, repeats: true) } @objc func handleSwipes(_ sender: UISwipeGestureRecognizer) { if (sender.direction == .right) { counter = counter - 1 if counter < 0 { counter = 2 } } if (sender.direction == .left) { counter = counter + 1 if counter > 2 { counter = 0 } } setImageandLabels() } @objc func updateImage() { counter += 1 if counter > 2 { counter = 0 } setImageandLabels() } func setImageandLabels() { imageViewDotLeft.image = imageDotUnselected imageViewDotCenter.image = imageDotUnselected imageViewDotRight.image = imageDotUnselected switch counter { case 0: imageViewDotLeft.image = imageDotSelected imageViewHomeLogo.image = imageFirst labelHomeDescription.text = descriptionFirst case 1: imageViewDotCenter.image = imageDotSelected imageViewHomeLogo.image = imageSecond labelHomeDescription.text = descriptionSecond case 2: imageViewDotRight.image = imageDotSelected imageViewHomeLogo.image = imageThird labelHomeDescription.text = descriptionThird default: return } } func setUpButtons() { buttonSignUp.layer.cornerRadius = 25 buttonLogin.backgroundColor = .clear buttonLogin.layer.cornerRadius = 25 buttonLogin.layer.borderWidth = 1 buttonLogin.layer.borderColor = UIColor.white.cgColor } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } } // MARK: SplashScreenViewInterface extension SplashScreenViewController: SplashScreenViewInterface { }