diff --git a/GMERemittance/Module/SplashScreen/User Interface/View/SplashScreen.storyboard b/GMERemittance/Module/SplashScreen/User Interface/View/SplashScreen.storyboard index a9c5ab78..c96d56c6 100644 --- a/GMERemittance/Module/SplashScreen/User Interface/View/SplashScreen.storyboard +++ b/GMERemittance/Module/SplashScreen/User Interface/View/SplashScreen.storyboard @@ -125,11 +125,23 @@ - diff --git a/GMERemittance/Module/SplashScreen/User Interface/View/SplashScreenViewController.swift b/GMERemittance/Module/SplashScreen/User Interface/View/SplashScreenViewController.swift index bd492d57..e6981180 100644 --- a/GMERemittance/Module/SplashScreen/User Interface/View/SplashScreenViewController.swift +++ b/GMERemittance/Module/SplashScreen/User Interface/View/SplashScreenViewController.swift @@ -8,6 +8,8 @@ import UIKit +import LTMorphingLabel + class SplashScreenViewController: UIViewController { struct StringConstants { @@ -33,10 +35,10 @@ class SplashScreenViewController: UIViewController { @IBOutlet weak var buttonSignUp: UIButton! @IBOutlet weak var languageBackGroundView: UIView! - @IBOutlet weak var languageLabel: UILabel! + @IBOutlet weak var languageLabel: LTMorphingLabel! // MARK: Properties - + var timer: Timer? var counter: Int = 0 let imageDotSelected = UIImage(named: "dotSelected") @@ -46,6 +48,7 @@ class SplashScreenViewController: UIViewController { let imageSecond = UIImage(named: "ic_splashSecondScreen") let imageThird = UIImage(named: "ic_splashThirdScreen") + var languageIndex = 0 var languages = ["English", "Korean", "Other"] @@ -65,11 +68,14 @@ class SplashScreenViewController: UIViewController { super.viewWillDisappear(animated) self.navigationItem.title = "" self.hideNavBar() + self.setupTimer() } override func viewWillDisappear(_ animated: Bool) { super.viewWillDisappear(animated) self.navigationItem.title = "" + self.timer?.invalidate() + } // MARK: IBActions @@ -109,10 +115,15 @@ class SplashScreenViewController: UIViewController { self.languageBackGroundView.layer.cornerRadius = 10 self.languageBackGroundView.clipsToBounds = true self.languageBackGroundView.layer.addShadow(offset: CGSize.init(width: 2, height: 2)) - + configureTimer() configureLanguage() } + private func configureTimer() { + let timer = Timer.scheduledTimer(timeInterval: 2, target: self, selector: #selector(self.updateLanguage), userInfo: nil, repeats: true) + self.timer = timer + } + private func configureLanguage() { self.buttonLogin.setTitle(StringConstants.loginText, for: .normal) self.buttonSignUp.setTitle(StringConstants.newUserText, for: .normal) @@ -183,6 +194,29 @@ class SplashScreenViewController: UIViewController { // self.buttonSignUp.backgroundColor = AppConstants.themeBlueColor } + private func setupTimer() { + self.timer?.fire() + } + + @objc func updateLanguage() { + + self.languageLabel.text = self.languages.elementAt(index: self.languageIndex) + if (self.languageIndex + 1) >= (self.languages.count) { + self.languageIndex = 0 + }else { + self.languageIndex += 1 + } + } + + private func changeText(text: String) { +// if let effect = LTMorphingEffect(rawValue: seg) { +// label.morphingEffect = effect +// changeText(sender) +// } +// languageLabel.morphingEffect = LTMorphingEffect.scale + self.languageLabel.text = text + } + override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } @@ -192,3 +226,15 @@ class SplashScreenViewController: UIViewController { extension SplashScreenViewController: SplashScreenViewInterface { } + + +extension SplashScreenViewController: LTMorphingLabelDelegate { + func morphingDidStart(_ label: LTMorphingLabel) { + print("start") + } + + func morphingDidComplete(_ label: LTMorphingLabel) { + print("complete") + } + +}