|
|
@ -42,6 +42,7 @@ class ExchangeRatesViewController: UIViewController { |
|
|
|
|
|
|
|
// MARK: IBOutlets |
|
|
|
|
|
|
|
@IBOutlet weak var scrollView: UIScrollView! |
|
|
|
@IBOutlet weak var collectionView: UICollectionView! |
|
|
|
@IBOutlet weak var exchangeBackground1: UIView! |
|
|
|
@IBOutlet weak var exchangeBackground2: UIView! |
|
|
@ -65,7 +66,7 @@ class ExchangeRatesViewController: UIViewController { |
|
|
|
var presenter: ExchangeRatesModuleInterface? |
|
|
|
var countryListTapGuesture: UITapGestureRecognizer? |
|
|
|
var selectedPaymentIndex: IndexPath = IndexPath.init(row: 0, section: 0) |
|
|
|
|
|
|
|
var translated: Bool = false |
|
|
|
var nativeCountryCode: String? = "np" |
|
|
|
|
|
|
|
var calcBy = "" |
|
|
@ -228,6 +229,7 @@ class ExchangeRatesViewController: UIViewController { |
|
|
|
// show country with flag. |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@objc private func textChanged(sender: UITextField) { |
|
|
|
switch sender { |
|
|
|
case senderTextField: |
|
|
@ -235,6 +237,7 @@ class ExchangeRatesViewController: UIViewController { |
|
|
|
self.calcBy = "c" |
|
|
|
senderTextField.text = Utility.getCommaSeperatedString(numberString: senderTextField.text!) |
|
|
|
case reciepientTextField: |
|
|
|
|
|
|
|
self.senderTextField.text = "" |
|
|
|
self.calcBy = "p" |
|
|
|
reciepientTextField.text = Utility.getCommaSeperatedString(numberString: reciepientTextField.text!) |
|
|
@ -243,6 +246,8 @@ class ExchangeRatesViewController: UIViewController { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private func setCountryFlag(countryCode: String) { |
|
|
|
let flag = CountryInfo().getFlag(for: countryCode) |
|
|
|
self.countryFlagImage.image = flag |
|
|
@ -325,6 +330,33 @@ class ExchangeRatesViewController: UIViewController { |
|
|
|
self.reciepientTextField.addTarget(self, action: #selector(self.textChanged(sender:)), for: UIControlEvents.editingChanged) |
|
|
|
self.senderTextField.addTarget(self, action: #selector(self.textChanged(sender:)), for: UIControlEvents.editingChanged) |
|
|
|
|
|
|
|
self.reciepientTextField.addTarget(self, action: #selector(self.textFieldSelected(sender:)), for: UIControlEvents.editingDidBegin) |
|
|
|
self.senderTextField.addTarget(self, action: #selector(self.textFieldSelected(sender:)), for: UIControlEvents.editingDidBegin) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
@objc private func textFieldSelected(sender: UITextField) { |
|
|
|
switch sender { |
|
|
|
case senderTextField: |
|
|
|
if Utility.getDeviceModel() == .iphone678 { |
|
|
|
let x = self.scrollView.contentOffset.x |
|
|
|
let y = self.scrollView.contentOffset.y |
|
|
|
let newOffset = CGPoint.init(x: x, y: y + 100) |
|
|
|
scrollView.setContentOffset(newOffset, animated: true) |
|
|
|
} |
|
|
|
|
|
|
|
if Utility.getDeviceModel() == .iphone5 { |
|
|
|
let x = self.scrollView.contentOffset.x |
|
|
|
let y = self.scrollView.contentOffset.y |
|
|
|
let newOffset = CGPoint.init(x: x, y: y + 150) |
|
|
|
scrollView.setContentOffset(newOffset, animated: true) |
|
|
|
} |
|
|
|
|
|
|
|
case reciepientTextField: |
|
|
|
break |
|
|
|
default: |
|
|
|
break |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private func setupDelegates() { |
|
|
@ -454,26 +486,8 @@ extension ExchangeRatesViewController: FetchCountryCurrencyInformation, getExcha |
|
|
|
|
|
|
|
|
|
|
|
extension ExchangeRatesViewController: UITextFieldDelegate { |
|
|
|
|
|
|
|
func textFieldDidBeginEditing(_ textField: UITextField) { |
|
|
|
if textField == senderTextField { |
|
|
|
if Utility.getDeviceModel() == .iphone678 || Utility.getDeviceModel() == .iphone5 { |
|
|
|
let transformDistance: CGFloat = -75 |
|
|
|
UIView.animate(withDuration: 0.33) { |
|
|
|
self.view.transform = CGAffineTransform.init(translationX: 0, y: transformDistance) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
func textFieldDidEndEditing(_ textField: UITextField) { |
|
|
|
if textField == senderTextField { |
|
|
|
UIView.animate(withDuration: 0.22, animations: { |
|
|
|
self.view.transform = CGAffineTransform.identity |
|
|
|
}) { (_) in |
|
|
|
self.calculateExchangeRate(nil) |
|
|
|
} |
|
|
|
} |
|
|
|
self.calculateExchangeRate(nil) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|