gme_2
6 years ago
7 changed files with 237 additions and 3 deletions
-
8GMERemittance.xcodeproj/project.pbxproj
-
BINGMERemittance/.DS_Store
-
BINGMERemittance/Assets.xcassets/.DS_Store
-
5GMERemittance/Module/SplashScreen/User Interface/View/SplashScreenViewController.swift
-
71GMERemittance/Module/TransactionHistory/User Interface/View/DatePickerViewController.swift
-
154GMERemittance/Module/TransactionHistory/User Interface/View/TransactionHistoryDatePicker.storyboard
-
2GMERemittance/Module/TransactionHistory/User Interface/View/TransactionHistoryViewController.swift
@ -0,0 +1,71 @@ |
|||
// |
|||
// DatePickerViewController.swift |
|||
// GMERemittance |
|||
// |
|||
// Created by gme_2 on 01/10/2018. |
|||
// Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved. |
|||
// |
|||
|
|||
import UIKit |
|||
|
|||
class DatePickerViewController: UIViewController { |
|||
@IBOutlet weak var fromTextfield: UITextField! |
|||
@IBOutlet weak var toTextfield: UITextField! |
|||
|
|||
var completion: ((_ from: Date?, _ to: Date?) -> ())? |
|||
|
|||
var fromDate: Date? |
|||
var toDate: Date? |
|||
|
|||
let fromDatePicker = UIDatePicker() |
|||
let toDatePicker = UIDatePicker() |
|||
|
|||
override func viewDidLoad() { |
|||
super.viewDidLoad() |
|||
|
|||
// Do any additional setup after loading the view. |
|||
} |
|||
|
|||
|
|||
// IBActions |
|||
@IBAction func cancel(_ sender: Any) { |
|||
self.dismiss(animated: true, completion: nil) |
|||
} |
|||
|
|||
@IBAction func searcg(_ sender: UIButton) { |
|||
self.dismiss(animated: true, completion: { |
|||
self.completion?(self.fromDate, self.toDate) |
|||
}) |
|||
} |
|||
|
|||
|
|||
|
|||
// private functions |
|||
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 |
|||
self.fromTextfield.text = dateFormatter.string(from: sender.date) |
|||
} |
|||
|
|||
private func setupToDatePicker() { |
|||
self.toDatePicker.datePickerMode = .date |
|||
self.toTextfield.inputView = toDatePicker |
|||
toDatePicker.maximumDate = Date() |
|||
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 |
|||
self.toTextfield.text = dateFormatter.string(from: sender.date) |
|||
} |
|||
} |
@ -0,0 +1,154 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14113" 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="14088"/> |
|||
<capability name="Safe area layout guides" minToolsVersion="9.0"/> |
|||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> |
|||
</dependencies> |
|||
<customFonts key="customFonts"> |
|||
<array key="SanFranciscoText-Regular.otf"> |
|||
<string>SanFranciscoText-Regular</string> |
|||
</array> |
|||
</customFonts> |
|||
<scenes> |
|||
<!--Date Picker View Controller--> |
|||
<scene sceneID="iYG-BI-6pQ"> |
|||
<objects> |
|||
<viewController storyboardIdentifier="DatePickerViewController" modalTransitionStyle="crossDissolve" modalPresentationStyle="overCurrentContext" id="d6i-cC-L4t" customClass="DatePickerViewController" customModule="GMERemittance" customModuleProvider="target" sceneMemberID="viewController"> |
|||
<view key="view" contentMode="scaleToFill" id="bQE-Xw-KV7"> |
|||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/> |
|||
<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"/> |
|||
<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"/> |
|||
<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 start date" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="pCR-cq-obj"> |
|||
<rect key="frame" x="16" y="53" width="308" height="43"/> |
|||
<constraints> |
|||
<constraint firstAttribute="height" constant="43" id="Dk4-ZC-Ey4"/> |
|||
</constraints> |
|||
<color key="textColor" white="0.75" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> |
|||
<fontDescription key="fontDescription" type="system" pointSize="13"/> |
|||
<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"/> |
|||
<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"/> |
|||
<constraints> |
|||
<constraint firstAttribute="height" constant="43" id="3EU-b3-51N"/> |
|||
</constraints> |
|||
<color key="textColor" white="0.75" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> |
|||
<fontDescription key="fontDescription" type="system" pointSize="13"/> |
|||
<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"/> |
|||
<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"/> |
|||
</constraints> |
|||
</view> |
|||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="aSy-Xt-xYB"> |
|||
<rect key="frame" x="0.0" y="201" width="343" height="42"/> |
|||
<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"/> |
|||
<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"/> |
|||
<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"/> |
|||
</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"/> |
|||
<state key="normal" title="Search"> |
|||
<color key="titleColor" red="0.92549019610000005" green="0.10980392160000001" blue="0.14117647059999999" alpha="0.90000000000000002" colorSpace="calibratedRGB"/> |
|||
</state> |
|||
<connections> |
|||
<action selector="searcg:" destination="d6i-cC-L4t" eventType="touchUpInside" id="Dj2-nZ-Hs4"/> |
|||
</connections> |
|||
</button> |
|||
</subviews> |
|||
<color key="backgroundColor" red="0.90980392160000001" green="0.2705078125" blue="0.90980392160000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
|||
</stackView> |
|||
</subviews> |
|||
<color key="backgroundColor" red="0.7843137255" green="0.78039215689999997" blue="0.80000000000000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
|||
<constraints> |
|||
<constraint firstAttribute="bottom" secondItem="bCn-Ov-est" secondAttribute="bottom" id="0Sh-Ug-bQu"/> |
|||
<constraint firstItem="bCn-Ov-est" firstAttribute="leading" secondItem="aSy-Xt-xYB" secondAttribute="leading" id="5yT-pJ-H5B"/> |
|||
<constraint firstAttribute="trailing" secondItem="bCn-Ov-est" secondAttribute="trailing" id="RBp-Nm-PWi"/> |
|||
<constraint firstItem="bCn-Ov-est" firstAttribute="top" secondItem="aSy-Xt-xYB" secondAttribute="top" id="Zjm-uS-Jfa"/> |
|||
</constraints> |
|||
</view> |
|||
</subviews> |
|||
<color key="backgroundColor" red="0.90980392160000001" green="0.90980392160000001" blue="0.90980392160000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
|||
<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 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="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 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"> |
|||
<integer key="value" value="10"/> |
|||
</userDefinedRuntimeAttribute> |
|||
</userDefinedRuntimeAttributes> |
|||
</view> |
|||
</subviews> |
|||
<color key="backgroundColor" white="0.29024367559523806" alpha="0.55325704225352113" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> |
|||
<gestureRecognizers/> |
|||
<constraints> |
|||
<constraint firstItem="ULD-Eu-tB1" firstAttribute="centerY" secondItem="bQE-Xw-KV7" secondAttribute="centerY" id="K3C-Xo-Dj4"/> |
|||
<constraint firstItem="OTz-yN-Foh" firstAttribute="trailing" secondItem="ULD-Eu-tB1" secondAttribute="trailing" constant="16" id="WWg-39-nhB"/> |
|||
<constraint firstItem="ULD-Eu-tB1" firstAttribute="leading" secondItem="OTz-yN-Foh" secondAttribute="leading" constant="16" id="zgz-ev-N5r"/> |
|||
</constraints> |
|||
<viewLayoutGuide key="safeArea" id="OTz-yN-Foh"/> |
|||
</view> |
|||
<connections> |
|||
<outlet property="fromTextfield" destination="pCR-cq-obj" id="rgN-1c-pJb"/> |
|||
<outlet property="toTextfield" destination="I48-21-OzR" id="nBT-06-403"/> |
|||
</connections> |
|||
</viewController> |
|||
<placeholder placeholderIdentifier="IBFirstResponder" id="FmM-Wk-2zF" userLabel="First Responder" sceneMemberID="firstResponder"/> |
|||
</objects> |
|||
<point key="canvasLocation" x="7265" y="-236"/> |
|||
</scene> |
|||
</scenes> |
|||
</document> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue