Browse Source

ready for next release

pull/1/head
InKwon James Kim 5 years ago
parent
commit
1e0c55f609
  1. 5
      GMERemittance/Model/SendMoneyExchangeRate.swift
  2. 2
      GMERemittance/Module/GmeContacts/User Interface/View/GmeContacts.storyboard
  3. 2
      GMERemittance/Module/GmeContacts/User Interface/View/GmeContactsViewController.swift
  4. 6
      GMERemittance/Module/Login/User Interface/View/Login.storyboard
  5. 17
      GMERemittance/Module/ResendExchange/User Interface/View/ResendExchangeViewController.swift
  6. 20
      GMERemittance/Module/RewardModules/Reward/User Interface/View/Reward.storyboard
  7. 7
      GMERemittance/Module/SendMoney/SendMoneyExchangeRate/User Interface/View/SendMoneyExchangeRateViewController.swift
  8. 2
      GMERemittance/Module/SendMoney/SendMoneyVerification/User Interface/View/SendMoneyVerificationViewController.swift
  9. 220
      GMERemittance/Module/TransactionHistory/User Interface/View/DatePickerViewController.swift
  10. 65
      GMERemittance/Module/TransactionHistory/User Interface/View/TransactionHistoryDatePicker.storyboard

5
GMERemittance/Model/SendMoneyExchangeRate.swift

@ -58,9 +58,10 @@ class SendMoneyExchangeRateModel: Mappable {
var formattedCouponName: String {
guard
schemeId != "",
let id = schemeId,
id != "",
let name = couponName,
let type = couponType,
let type = discountType,
let value = discountValue?.likeCommaMoney() else {
return "0"
}

2
GMERemittance/Module/GmeContacts/User Interface/View/GmeContacts.storyboard

@ -207,7 +207,7 @@ Wongogdong Jung-Angdaero 445 Wongogdong Jung-Angdaero 445</string>
</constraints>
</view>
<navigationItem key="navigationItem" id="nN7-cv-cAV">
<barButtonItem key="rightBarButtonItem" title="Close" id="jSm-pg-2ra">
<barButtonItem key="leftBarButtonItem" title="Close" id="jSm-pg-2ra">
<color key="tintColor" red="0.92941176469999998" green="0.1058823529" blue="0.14117647059999999" alpha="1" colorSpace="calibratedRGB"/>
<connections>
<action selector="touchClose:" destination="HSb-ou-7T5" id="386-jc-uic"/>

2
GMERemittance/Module/GmeContacts/User Interface/View/GmeContactsViewController.swift

@ -56,7 +56,7 @@ class GmeContactsViewController: UIViewController {
self.navigationItem.title = "branch_text".localized()
if self.presentingViewController == nil {
self.navigationItem.rightBarButtonItem = nil
self.navigationItem.leftBarButtonItem = nil
}
}

6
GMERemittance/Module/Login/User Interface/View/Login.storyboard

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14460.31" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="ezR-vY-eSd">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="ezR-vY-eSd">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14460.20"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14490.49"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
@ -91,7 +91,7 @@
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Registered Email" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="VQh-fp-vLH">
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Registered Email" textAlignment="natural" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="VQh-fp-vLH">
<rect key="frame" x="0.0" y="29" width="327" height="43"/>
<constraints>
<constraint firstAttribute="height" constant="43" id="MMU-6i-0db"/>

17
GMERemittance/Module/ResendExchange/User Interface/View/ResendExchangeViewController.swift

@ -156,6 +156,9 @@ class ResendExchangeViewController: UIViewController {
setupTargets()
setupView()
configureLanguage()
senderTextField.delegate = self
reciepientTextField.delegate = self
}
private func configureLanguage() {
@ -350,3 +353,17 @@ extension ResendExchangeViewController: ResendExchangeViewInterface {
extension ResendExchangeViewController: FetchSendMoneyExchangeRateService {
}
// MARK: - UITextFieldDelegate
extension ResendExchangeViewController: UITextFieldDelegate {
func textFieldDidEndEditing(_ textField: UITextField) {
switch textField {
case senderTextField, reciepientTextField:
if senderTextField.text != "" || reciepientTextField.text != "" {
calculate()
}
default:
break
}
}
}

20
GMERemittance/Module/RewardModules/Reward/User Interface/View/Reward.storyboard

@ -27,29 +27,29 @@
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="mVq-cj-kN9">
<rect key="frame" x="10" y="30" width="355" height="16"/>
<rect key="frame" x="10" y="30" width="355" height="132"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="starredBackground" translatesAutoresizingMaskIntoConstraints="NO" id="OUC-GY-cfV">
<rect key="frame" x="0.0" y="0.0" width="355" height="16"/>
<rect key="frame" x="0.0" y="0.0" width="355" height="132"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Note: The reward point is valid for a year only." textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zsW-Jn-5cx">
<rect key="frame" x="45" y="-2.5" width="265.5" height="15.5"/>
<rect key="frame" x="53.5" y="113" width="248.5" height="16"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="13"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="ic_reward" translatesAutoresizingMaskIntoConstraints="NO" id="w0R-LI-YPR">
<rect key="frame" x="75.5" y="-33" width="80" height="80"/>
<rect key="frame" x="75.5" y="19.5" width="80" height="80"/>
<constraints>
<constraint firstAttribute="height" constant="80" id="0qu-ST-7fP"/>
<constraint firstAttribute="width" constant="80" id="LaH-ji-hpA"/>
</constraints>
</imageView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="equalSpacing" alignment="center" spacing="8" translatesAutoresizingMaskIntoConstraints="NO" id="a1o-7y-Kgz">
<rect key="frame" x="184.5" y="-18" width="98" height="50"/>
<rect key="frame" x="187.5" y="34.5" width="92" height="50"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Reward Points" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Vyv-ya-vvm">
<rect key="frame" x="0.0" y="0.0" width="98" height="17"/>
<rect key="frame" x="0.0" y="0.0" width="92" height="17"/>
<constraints>
<constraint firstAttribute="height" constant="17" id="bs5-Ee-cbW"/>
</constraints>
@ -58,7 +58,7 @@
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="252" text="999" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qUz-im-Ri9">
<rect key="frame" x="24" y="25" width="50.5" height="25"/>
<rect key="frame" x="21" y="25" width="50.5" height="25"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Medium" family="San Francisco Display" pointSize="30"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
@ -84,7 +84,7 @@
</constraints>
</view>
<collectionView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="vmj-sE-fUF">
<rect key="frame" x="10" y="81" width="355" height="576"/>
<rect key="frame" x="10" y="197" width="355" height="460"/>
<color key="backgroundColor" red="0.90588235289999997" green="0.92941176469999998" blue="0.94901960780000005" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
<collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="0.0" minimumInteritemSpacing="0.0" id="TUx-T5-4WL">
<size key="itemSize" width="320" height="260"/>
@ -167,7 +167,7 @@
<constraint firstAttribute="height" constant="1" id="aIU-fW-HwS"/>
</constraints>
</view>
<button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" enabled="NO" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Qou-YC-598">
<button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" enabled="NO" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="tailTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Qou-YC-598">
<rect key="frame" x="80" y="216" width="160" height="39"/>
<color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Medium" family="San Francisco Display" pointSize="16"/>
@ -215,7 +215,7 @@
</cells>
</collectionView>
<segmentedControl opaque="NO" clipsSubviews="YES" contentMode="scaleAspectFit" selected="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" segmentControlStyle="plain" selectedSegmentIndex="0" translatesAutoresizingMaskIntoConstraints="NO" id="pUS-5u-yiU">
<rect key="frame" x="320" y="56" width="45" height="21"/>
<rect key="frame" x="320" y="172" width="45" height="21"/>
<constraints>
<constraint firstAttribute="width" constant="45" id="3Ig-8M-nEs"/>
<constraint firstAttribute="height" constant="20" id="Ohr-Rq-jxc"/>

7
GMERemittance/Module/SendMoney/SendMoneyExchangeRate/User Interface/View/SendMoneyExchangeRateViewController.swift

@ -171,6 +171,7 @@ class SendMoneyExchangeRateViewController: UIViewController {
senderTextField.becomeFirstResponder()
senderTextField.delegate = self
reciepientTextField.delegate = self
calcBy = "c"
[backgroundViewCountryLabel1, backgroundViewCountryLabel2].forEach { $0?.layer.cornerRadius = 5 }
@ -391,8 +392,10 @@ extension SendMoneyExchangeRateViewController {
extension SendMoneyExchangeRateViewController: UITextFieldDelegate {
func textFieldDidEndEditing(_ textField: UITextField) {
switch textField {
case senderTextField:
calculate()
case senderTextField, reciepientTextField:
if senderTextField.text != "" || reciepientTextField.text != "" {
calculate()
}
default:
break
}

2
GMERemittance/Module/SendMoney/SendMoneyVerification/User Interface/View/SendMoneyVerificationViewController.swift

@ -267,7 +267,7 @@ extension SendMoneyVerificationViewController {
// MARK: - BiometricAuthenticationViewControllerDelegate
extension SendMoneyVerificationViewController: BiometricAuthenticationViewControllerDelegate {
func viewController(_ viewController: BiometricAuthenticationViewController, informationTitleLabel titleLabel: UILabel) {
titleLabel.text = "Please enter authentication information for Remittance"
titleLabel.text = "bio_sendmoney_intro_text".localized()
}
func didComplete(_ viewController: BiometricAuthenticationViewController) {

220
GMERemittance/Module/TransactionHistory/User Interface/View/DatePickerViewController.swift

@ -9,107 +9,125 @@
import UIKit
class DatePickerViewController: UIViewController {
@IBOutlet weak var fromTextfield: UITextField!
@IBOutlet weak var toTextfield: UITextField!
@IBOutlet weak var fromTitleLabel: UILabel!
@IBOutlet weak var toTitleLabel: UILabel!
@IBOutlet weak var cancelButton: UIButton!
@IBOutlet weak var searchButton: UIButton!
struct StringConstants {
let fromPlaceholderText = "placeholder_from_text".localized()
let toPlaceholderText = "placeholder_to_text".localized()
let cancelButtonText = "cancel_text".localized()
let searchButtonText = "search_text".localized()
}
var completion: ((_ from: String?, _ to: String?) -> ())?
var fromDate: String?
var toDate: String?
var _fromDate: Date? {
didSet {
self.toDatePicker.minimumDate = _fromDate
self.toDatePicker.maximumDate = Date()
}
}
var _toDate: Date?
let fromDatePicker = UIDatePicker()
let toDatePicker = UIDatePicker()
override func viewDidLoad() {
super.viewDidLoad()
setup()
}
// IBActions
@IBAction func cancel(_ sender: Any) {
self.view.endEditing(true)
self.dismiss(animated: true, completion: nil)
}
@IBAction func searcg(_ sender: UIButton) {
self.view.endEditing(true)
self.dismiss(animated: true, completion: {
self.completion?(self.fromDate, self.toDate)
})
}
// private functions
private func setup() {
self.setupToDatePicker()
self.setupFromDatePicker()
self.fromDatePicker.date = Date()
self.handleFromDatePicker(sender: fromDatePicker)
configureLanguage()
// Do any additional setup after loading the view.
}
func configureLanguage() {
self.fromTitleLabel.text = StringConstants().fromPlaceholderText
self.toTitleLabel.text = StringConstants().toPlaceholderText
self.fromTextfield.text = StringConstants().fromPlaceholderText
self.toTextfield.text = StringConstants().toPlaceholderText
self.cancelButton.setTitle(StringConstants().cancelButtonText, for: UIControlState.normal)
self.searchButton.setTitle(StringConstants().searchButtonText, for: UIControlState.normal)
@IBOutlet private weak var fromTextfield: UITextField!
@IBOutlet private weak var toTextfield: UITextField!
@IBOutlet private weak var fromTitleLabel: UILabel!
@IBOutlet private weak var toTitleLabel: UILabel!
@IBOutlet private weak var cancelButton: UIButton!
@IBOutlet private weak var searchButton: UIButton!
private struct StringConstants {
let fromPlaceholderText = "placeholder_from_text".localized()
let toPlaceholderText = "placeholder_to_text".localized()
let cancelButtonText = "cancel_text".localized()
let searchButtonText = "search_text".localized()
}
var completion: ((_ from: String?, _ to: String?) -> ())?
private var from: String?
private var to: String?
private var fromDate: Date? {
didSet {
toDatePicker.minimumDate = fromDate
toDatePicker.maximumDate = Date()
}
private func setupFromDatePicker() {
self.fromDatePicker.datePickerMode = .date
self.fromTextfield.inputView = fromDatePicker
fromDatePicker.maximumDate = Date()
self.fromDatePicker.addTarget(self, action: #selector(handleFromDatePicker(sender:)), for: .valueChanged)
}
@objc private func handleFromDatePicker(sender: UIDatePicker) {
self._fromDate = sender.date
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = AppConstants.dateFormat
let date = dateFormatter.string(from: sender.date)
self.fromTextfield.text = date
self.fromDate = date
}
private func setupToDatePicker() {
self.toDatePicker.datePickerMode = .date
self.toTextfield.inputView = toDatePicker
toDatePicker.maximumDate = self._fromDate
self.toDatePicker.addTarget(self, action: #selector(handleToDatePicker(sender:)), for: .valueChanged)
}
@objc private func handleToDatePicker(sender: UIDatePicker) {
self._toDate = sender.date
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = AppConstants.dateFormat
let date = dateFormatter.string(from: sender.date)
self.toTextfield.text = date
self.toDate = date
}
private var toDate: Date?
private lazy var fromDatePicker = UIDatePicker()
private lazy var toDatePicker = UIDatePicker()
override func viewDidLoad() {
super.viewDidLoad()
setup()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
}
// IBActions
@IBAction func cancel(_ sender: Any) {
view.endEditing(true)
dismiss(animated: true, completion: nil)
}
@IBAction func searcg(_ sender: UIButton) {
view.endEditing(true)
dismiss(animated: true){[weak self] in
guard let `self` = self else {
return
}
self.completion?(self.from, self.to)
}
}
// private functions
private func setup() {
setupToDatePicker()
setupFromDatePicker()
configureLanguage()
guard let aMonthAgo = Calendar.current.date(
byAdding: .month,
value: -1,
to: Date()) else {
return
}
fromDatePicker.date = aMonthAgo
handleFromDatePicker(sender: fromDatePicker)
toDatePicker.date = Date()
handleToDatePicker(sender: toDatePicker)
}
func configureLanguage() {
fromTitleLabel.text = StringConstants().fromPlaceholderText
toTitleLabel.text = StringConstants().toPlaceholderText
fromTextfield.placeholder = StringConstants().fromPlaceholderText
toTextfield.placeholder = StringConstants().toPlaceholderText
cancelButton.setTitle(StringConstants().cancelButtonText, for: UIControlState.normal)
searchButton.setTitle(StringConstants().searchButtonText, for: UIControlState.normal)
}
private func setupFromDatePicker() {
fromDatePicker.datePickerMode = .date
fromTextfield.inputView = fromDatePicker
fromDatePicker.maximumDate = Date()
fromDatePicker.addTarget(self, action: #selector(handleFromDatePicker(sender:)), for: .valueChanged)
}
@objc private func handleFromDatePicker(sender: UIDatePicker) {
fromDate = sender.date
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = AppConstants.dateFormat
let date = dateFormatter.string(from: sender.date)
fromTextfield.text = date
from = date
}
private func setupToDatePicker() {
toDatePicker.datePickerMode = .date
toTextfield.inputView = toDatePicker
toDatePicker.maximumDate = self.fromDate
toDatePicker.addTarget(self, action: #selector(handleToDatePicker(sender:)), for: .valueChanged)
}
@objc private func handleToDatePicker(sender: UIDatePicker) {
toDate = sender.date
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = AppConstants.dateFormat
let date = dateFormatter.string(from: sender.date)
toTextfield.text = date
to = date
}
}

65
GMERemittance/Module/TransactionHistory/User Interface/View/TransactionHistoryDatePicker.storyboard

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14460.31" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14460.20"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14490.49"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
@ -13,6 +13,9 @@
<array key="SanFranciscoDisplay-Regular.otf">
<string>SanFranciscoDisplay-Regular</string>
</array>
<array key="SanFranciscoText-Medium.otf">
<string>SanFranciscoText-Medium</string>
</array>
<array key="SanFranciscoText-Regular.otf">
<string>SanFranciscoText-Regular</string>
</array>
@ -27,7 +30,7 @@
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ULD-Eu-tB1">
<rect key="frame" x="16" y="212" width="343" height="243"/>
<rect key="frame" x="16" y="208.5" width="343" height="250"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="From" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="egs-MP-XU0">
<rect key="frame" x="16" y="25" width="33" height="17"/>
@ -35,60 +38,63 @@
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Select start date" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="pCR-cq-obj">
<rect key="frame" x="16" y="53" width="308" height="43"/>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Select start date" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="pCR-cq-obj">
<rect key="frame" x="10" y="53" width="323" height="40"/>
<constraints>
<constraint firstAttribute="height" constant="43" id="Dk4-ZC-Ey4"/>
<constraint firstAttribute="height" constant="40" id="Dk4-ZC-Ey4"/>
</constraints>
<color key="textColor" red="0.29019607843137252" green="0.29019607843137252" blue="0.29019607843137252" alpha="1" colorSpace="calibratedRGB"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="17"/>
<textInputTraits key="textInputTraits"/>
</textField>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="To" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8R4-ao-hRh">
<rect key="frame" x="16" y="107" width="15.5" height="17"/>
<rect key="frame" x="16" y="113" width="15.5" height="17"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Select end date" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="I48-21-OzR">
<rect key="frame" x="16" y="135" width="308" height="43"/>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Select end date" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="I48-21-OzR">
<rect key="frame" x="10" y="141" width="323" height="40"/>
<constraints>
<constraint firstAttribute="height" constant="43" id="3EU-b3-51N"/>
<constraint firstAttribute="height" constant="40" id="3EU-b3-51N"/>
</constraints>
<color key="textColor" red="0.29019607843137252" green="0.29019607843137252" blue="0.29019607843137252" alpha="1" colorSpace="calibratedRGB"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="17"/>
<textInputTraits key="textInputTraits"/>
</textField>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="nPo-RO-gkQ">
<rect key="frame" x="0.0" y="200" width="343" height="1"/>
<view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="nPo-RO-gkQ">
<rect key="frame" x="0.0" y="199.5" width="343" height="0.5"/>
<color key="backgroundColor" red="0.7843137255" green="0.78039215689999997" blue="0.80000000000000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="1" id="e5f-OB-PCo"/>
<constraint firstAttribute="height" constant="0.5" id="e5f-OB-PCo"/>
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="aSy-Xt-xYB">
<rect key="frame" x="0.0" y="201" width="343" height="42"/>
<rect key="frame" x="0.0" y="200" width="343" height="50"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" distribution="fillEqually" spacing="1" translatesAutoresizingMaskIntoConstraints="NO" id="bCn-Ov-est">
<rect key="frame" x="0.0" y="0.0" width="343" height="42"/>
<rect key="frame" x="0.0" y="0.0" width="343" height="50"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="d6F-Zw-V5J">
<rect key="frame" x="0.0" y="0.0" width="171" height="42"/>
<color key="backgroundColor" red="0.90980392160000001" green="0.90980392160000001" blue="0.90980392160000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<rect key="frame" x="0.0" y="0.0" width="171" height="50"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<fontDescription key="fontDescription" name="SanFranciscoText-Regular" family="San Francisco Text" pointSize="17"/>
<state key="normal" title="Cancel">
<color key="titleColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<color key="titleColor" red="0.92941176469999998" green="0.10980392160000001" blue="0.14117647059999999" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
</state>
<connections>
<action selector="cancel:" destination="d6i-cC-L4t" eventType="touchUpInside" id="k5O-nR-fMk"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="rgV-Oy-aLC">
<rect key="frame" x="172" y="0.0" width="171" height="42"/>
<color key="backgroundColor" red="0.90980392160000001" green="0.90980392160000001" blue="0.90980392160000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<fontDescription key="fontDescription" name="SanFranciscoText-Regular" family="San Francisco Text" pointSize="17"/>
<rect key="frame" x="172" y="0.0" width="171" height="50"/>
<color key="backgroundColor" red="0.92941176469999998" green="0.10980392160000001" blue="0.14117647059999999" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="height" constant="50" id="JDS-p2-XEm"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoText-Medium" family="San Francisco Text" pointSize="17"/>
<state key="normal" title="Search">
<color key="titleColor" red="0.92549019610000005" green="0.10980392160000001" blue="0.14117647059999999" alpha="0.90000000000000002" colorSpace="calibratedRGB"/>
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<connections>
<action selector="searcg:" destination="d6i-cC-L4t" eventType="touchUpInside" id="Dj2-nZ-Hs4"/>
@ -107,26 +113,25 @@
</constraints>
</view>
</subviews>
<color key="backgroundColor" red="0.90980392160000001" green="0.90980392160000001" blue="0.90980392160000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="8R4-ao-hRh" firstAttribute="leading" secondItem="ULD-Eu-tB1" secondAttribute="leading" constant="16" id="0LV-ar-87s"/>
<constraint firstItem="8R4-ao-hRh" firstAttribute="top" secondItem="pCR-cq-obj" secondAttribute="bottom" constant="11" id="0oF-Hk-lvr"/>
<constraint firstAttribute="trailing" secondItem="pCR-cq-obj" secondAttribute="trailing" constant="19" id="413-CZ-J8T"/>
<constraint firstItem="8R4-ao-hRh" firstAttribute="top" secondItem="pCR-cq-obj" secondAttribute="bottom" constant="20" id="0oF-Hk-lvr"/>
<constraint firstAttribute="trailing" secondItem="pCR-cq-obj" secondAttribute="trailing" constant="10" id="413-CZ-J8T"/>
<constraint firstAttribute="trailing" secondItem="nPo-RO-gkQ" secondAttribute="trailing" id="AFU-Hr-KmU"/>
<constraint firstAttribute="bottom" secondItem="aSy-Xt-xYB" secondAttribute="bottom" id="BTL-N4-Ozp"/>
<constraint firstItem="pCR-cq-obj" firstAttribute="leading" secondItem="ULD-Eu-tB1" secondAttribute="leading" constant="16" id="Eac-MA-GgN"/>
<constraint firstAttribute="trailing" secondItem="I48-21-OzR" secondAttribute="trailing" constant="19" id="FpV-8q-7uU"/>
<constraint firstItem="I48-21-OzR" firstAttribute="leading" secondItem="ULD-Eu-tB1" secondAttribute="leading" constant="16" id="KmQ-gF-QZu"/>
<constraint firstItem="pCR-cq-obj" firstAttribute="leading" secondItem="ULD-Eu-tB1" secondAttribute="leading" constant="10" id="Eac-MA-GgN"/>
<constraint firstAttribute="trailing" secondItem="I48-21-OzR" secondAttribute="trailing" constant="10" id="FpV-8q-7uU"/>
<constraint firstItem="I48-21-OzR" firstAttribute="leading" secondItem="ULD-Eu-tB1" secondAttribute="leading" constant="10" id="KmQ-gF-QZu"/>
<constraint firstItem="aSy-Xt-xYB" firstAttribute="leading" secondItem="ULD-Eu-tB1" secondAttribute="leading" id="LVI-hw-VsL"/>
<constraint firstItem="egs-MP-XU0" firstAttribute="top" secondItem="ULD-Eu-tB1" secondAttribute="top" constant="25" id="OH4-Ni-ZY1"/>
<constraint firstItem="I48-21-OzR" firstAttribute="top" secondItem="8R4-ao-hRh" secondAttribute="bottom" constant="11" id="QPH-PK-huz"/>
<constraint firstItem="nPo-RO-gkQ" firstAttribute="leading" secondItem="ULD-Eu-tB1" secondAttribute="leading" id="SH3-Wr-k5R"/>
<constraint firstAttribute="height" constant="243" id="USC-vh-uuz"/>
<constraint firstAttribute="height" constant="250" id="USC-vh-uuz"/>
<constraint firstItem="egs-MP-XU0" firstAttribute="leading" secondItem="ULD-Eu-tB1" secondAttribute="leading" constant="16" id="Z4f-ia-o2g"/>
<constraint firstItem="pCR-cq-obj" firstAttribute="top" secondItem="egs-MP-XU0" secondAttribute="bottom" constant="11" id="bl6-pu-TZF"/>
<constraint firstItem="aSy-Xt-xYB" firstAttribute="top" secondItem="nPo-RO-gkQ" secondAttribute="bottom" id="kXh-ad-lTJ"/>
<constraint firstAttribute="trailing" secondItem="aSy-Xt-xYB" secondAttribute="trailing" id="mQH-fh-PdD"/>
<constraint firstItem="nPo-RO-gkQ" firstAttribute="top" secondItem="I48-21-OzR" secondAttribute="bottom" constant="22" id="n5T-gB-JvY"/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">

Loading…
Cancel
Save