You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
176 lines
5.5 KiB
176 lines
5.5 KiB
//
|
|
// 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 = AppConstants.themeRedColor
|
|
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
|
|
buttonSignUp.layer.borderWidth = 1
|
|
buttonSignUp.layer.borderColor = UIColor.white.cgColor
|
|
self.view.backgroundColor = AppConstants.themeRedColor
|
|
self.buttonSignUp.backgroundColor = AppConstants.themeDarkRedColor
|
|
self.buttonLogin.backgroundColor = AppConstants.themeBlueColor
|
|
// self.buttonSignUp.backgroundColor = AppConstants.themeBlueColor
|
|
}
|
|
|
|
override func didReceiveMemoryWarning() {
|
|
super.didReceiveMemoryWarning()
|
|
}
|
|
}
|
|
|
|
// MARK: SplashScreenViewInterface
|
|
extension SplashScreenViewController: SplashScreenViewInterface {
|
|
|
|
}
|