Browse Source

added timer

pull/1/head
gme_2 6 years ago
parent
commit
9cbc1c68d1
  1. 14
      GMERemittance/Module/SplashScreen/User Interface/View/SplashScreen.storyboard
  2. 52
      GMERemittance/Module/SplashScreen/User Interface/View/SplashScreenViewController.swift

14
GMERemittance/Module/SplashScreen/User Interface/View/SplashScreen.storyboard

@ -125,11 +125,23 @@
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ONN-vO-ntP">
<rect key="frame" x="37.5" y="120" width="300" height="45"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ZdU-Ub-FUa">
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ZdU-Ub-FUa" customClass="LTMorphingLabel">
<rect key="frame" x="0.0" y="0.0" width="300" height="45"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="morphingProgress">
<real key="value" value="2"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="number" keyPath="morphingDuration">
<real key="value" value="2"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="number" keyPath="morphingCharacterDelay">
<real key="value" value="2"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="boolean" keyPath="morphingEnabled" value="YES"/>
</userDefinedRuntimeAttributes>
</label>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>

52
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")
}
}
Loading…
Cancel
Save