added language and fiat views
This commit is contained in:
parent
eb254ccc2d
commit
6104324a71
|
@ -113,6 +113,17 @@
|
|||
EEBEBBA02208D75600A6BD18 /* MemoVCDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEBEBB9F2208D66600A6BD18 /* MemoVCDelegate.swift */; };
|
||||
EEBEBBA12208D75A00A6BD18 /* MemoVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEBEBB9C2208D60100A6BD18 /* MemoVC.swift */; };
|
||||
EEBEBBA22208D76200A6BD18 /* Memo.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EEBEBB9A2208D4FD00A6BD18 /* Memo.storyboard */; };
|
||||
EECB178A2275A7CB002964A4 /* Language.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EECB17892275A7B4002964A4 /* Language.storyboard */; };
|
||||
EECB178D2275A836002964A4 /* LanguageVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = EECB178C2275A836002964A4 /* LanguageVC.swift */; };
|
||||
EECB178F2275AA4D002964A4 /* Fiat.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EECB178E2275AA4D002964A4 /* Fiat.storyboard */; };
|
||||
EECB17922275ACB3002964A4 /* FiatVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = EECB17912275ACB3002964A4 /* FiatVC.swift */; };
|
||||
EECB17942275E5D4002964A4 /* FiatIndexTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = EECB17932275E5D4002964A4 /* FiatIndexTableViewCell.swift */; };
|
||||
EECB17962275E601002964A4 /* FiatCurrencyTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = EECB17952275E601002964A4 /* FiatCurrencyTableViewCell.swift */; };
|
||||
EECB17982275E7B5002964A4 /* FiatVCDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EECB17972275E7B5002964A4 /* FiatVCDelegate.swift */; };
|
||||
EECB179A2275E894002964A4 /* FiatVCViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EECB17992275E894002964A4 /* FiatVCViewModel.swift */; };
|
||||
EECB179C22760EAB002964A4 /* Currencies.swift in Sources */ = {isa = PBXBuildFile; fileRef = EECB179B22760EAB002964A4 /* Currencies.swift */; };
|
||||
EECB179E22777ADE002964A4 /* PropertyStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = EECB179D22777ADE002964A4 /* PropertyStore.swift */; };
|
||||
EECB17A022777D6A002964A4 /* Languages.swift in Sources */ = {isa = PBXBuildFile; fileRef = EECB179F22777D6A002964A4 /* Languages.swift */; };
|
||||
EEE15B0A2270DA23008231B6 /* QRC.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EEE15B092270D93B008231B6 /* QRC.storyboard */; };
|
||||
EEE15B0D2270E736008231B6 /* QrcVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEE15B0C2270E736008231B6 /* QrcVC.swift */; };
|
||||
EEE15B0F2270E89F008231B6 /* QrcVCDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEE15B0E2270E89F008231B6 /* QrcVCDelegate.swift */; };
|
||||
|
@ -242,6 +253,17 @@
|
|||
EEBEBB9C2208D60100A6BD18 /* MemoVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MemoVC.swift; sourceTree = "<group>"; };
|
||||
EEBEBB9D2208D64C00A6BD18 /* AmountVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AmountVC.swift; sourceTree = "<group>"; };
|
||||
EEBEBB9F2208D66600A6BD18 /* MemoVCDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MemoVCDelegate.swift; sourceTree = "<group>"; };
|
||||
EECB17892275A7B4002964A4 /* Language.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Language.storyboard; sourceTree = "<group>"; };
|
||||
EECB178C2275A836002964A4 /* LanguageVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LanguageVC.swift; sourceTree = "<group>"; };
|
||||
EECB178E2275AA4D002964A4 /* Fiat.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Fiat.storyboard; sourceTree = "<group>"; };
|
||||
EECB17912275ACB3002964A4 /* FiatVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FiatVC.swift; sourceTree = "<group>"; };
|
||||
EECB17932275E5D4002964A4 /* FiatIndexTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FiatIndexTableViewCell.swift; sourceTree = "<group>"; };
|
||||
EECB17952275E601002964A4 /* FiatCurrencyTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FiatCurrencyTableViewCell.swift; sourceTree = "<group>"; };
|
||||
EECB17972275E7B5002964A4 /* FiatVCDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FiatVCDelegate.swift; sourceTree = "<group>"; };
|
||||
EECB17992275E894002964A4 /* FiatVCViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FiatVCViewModel.swift; sourceTree = "<group>"; };
|
||||
EECB179B22760EAB002964A4 /* Currencies.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Currencies.swift; sourceTree = "<group>"; };
|
||||
EECB179D22777ADE002964A4 /* PropertyStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PropertyStore.swift; sourceTree = "<group>"; };
|
||||
EECB179F22777D6A002964A4 /* Languages.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Languages.swift; sourceTree = "<group>"; };
|
||||
EEE15B092270D93B008231B6 /* QRC.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = QRC.storyboard; sourceTree = "<group>"; };
|
||||
EEE15B0C2270E736008231B6 /* QrcVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QrcVC.swift; sourceTree = "<group>"; };
|
||||
EEE15B0E2270E89F008231B6 /* QrcVCDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QrcVCDelegate.swift; sourceTree = "<group>"; };
|
||||
|
@ -292,6 +314,7 @@
|
|||
EE07A46721E279A8006031C8 /* InfoPlist.strings */,
|
||||
EE07A45621E26E88006031C8 /* IocContainer.swift */,
|
||||
EE07A45421E24FDD006031C8 /* Localization.swift */,
|
||||
EECB179D22777ADE002964A4 /* PropertyStore.swift */,
|
||||
);
|
||||
path = Infrastructure;
|
||||
sourceTree = "<group>";
|
||||
|
@ -462,7 +485,9 @@
|
|||
children = (
|
||||
EE4AFAAA2266519E00997CE3 /* Address.storyboard */,
|
||||
EEBEBB802206F80300A6BD18 /* Amount.storyboard */,
|
||||
EECB178E2275AA4D002964A4 /* Fiat.storyboard */,
|
||||
EE76B84121D7EC3F0093571F /* Home.storyboard */,
|
||||
EECB17892275A7B4002964A4 /* Language.storyboard */,
|
||||
EE57700621CFCC5600433CAB /* LaunchScreen.storyboard */,
|
||||
EE57700121CFCC5500433CAB /* Main.storyboard */,
|
||||
EEBEBB9A2208D4FD00A6BD18 /* Memo.storyboard */,
|
||||
|
@ -501,7 +526,9 @@
|
|||
children = (
|
||||
EE4AFAAB2266528700997CE3 /* Address */,
|
||||
EEBEBB822206FB3200A6BD18 /* Amount */,
|
||||
EECB17902275AC78002964A4 /* Fiat */,
|
||||
EE377ED021F47D5200138385 /* Home */,
|
||||
EECB178B2275A814002964A4 /* Language */,
|
||||
EE07A44E21E217E0006031C8 /* Main */,
|
||||
EEBEBB9B2208D5E700A6BD18 /* Memo */,
|
||||
EE377EC321E8F44C00138385 /* Passphrase */,
|
||||
|
@ -531,6 +558,8 @@
|
|||
children = (
|
||||
EE57702821D0011400433CAB /* Colors.swift */,
|
||||
EE377EC121E7DFD200138385 /* Constants.swift */,
|
||||
EECB179B22760EAB002964A4 /* Currencies.swift */,
|
||||
EECB179F22777D6A002964A4 /* Languages.swift */,
|
||||
);
|
||||
path = Definitions;
|
||||
sourceTree = "<group>";
|
||||
|
@ -638,6 +667,26 @@
|
|||
path = Memo;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
EECB178B2275A814002964A4 /* Language */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
EECB178C2275A836002964A4 /* LanguageVC.swift */,
|
||||
);
|
||||
path = Language;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
EECB17902275AC78002964A4 /* Fiat */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
EECB17952275E601002964A4 /* FiatCurrencyTableViewCell.swift */,
|
||||
EECB17932275E5D4002964A4 /* FiatIndexTableViewCell.swift */,
|
||||
EECB17912275ACB3002964A4 /* FiatVC.swift */,
|
||||
EECB17972275E7B5002964A4 /* FiatVCDelegate.swift */,
|
||||
EECB17992275E894002964A4 /* FiatVCViewModel.swift */,
|
||||
);
|
||||
path = Fiat;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
EEE15B0B2270E541008231B6 /* QRC */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
@ -768,9 +817,11 @@
|
|||
EE76B85A21D8D1930093571F /* OFL.txt in Resources */,
|
||||
EEBEBBA22208D76200A6BD18 /* Memo.storyboard in Resources */,
|
||||
EE76B84221D7EC3F0093571F /* Home.storyboard in Resources */,
|
||||
EECB178A2275A7CB002964A4 /* Language.storyboard in Resources */,
|
||||
EE57700821CFCC5600433CAB /* LaunchScreen.storyboard in Resources */,
|
||||
EEE15B0A2270DA23008231B6 /* QRC.storyboard in Resources */,
|
||||
EEBEBB812206F81F00A6BD18 /* Amount.storyboard in Resources */,
|
||||
EECB178F2275AA4D002964A4 /* Fiat.storyboard in Resources */,
|
||||
EE76B85E21D8D1930093571F /* SourceSansPro-ExtraLightItalic.ttf in Resources */,
|
||||
EE57700521CFCC5600433CAB /* Assets.xcassets in Resources */,
|
||||
EE57700321CFCC5500433CAB /* Main.storyboard in Resources */,
|
||||
|
@ -795,6 +846,7 @@
|
|||
EE377EE221F4F18700138385 /* TrxDirection.swift in Sources */,
|
||||
EE07A46A21E29B6F006031C8 /* AppCoordinator.swift in Sources */,
|
||||
EE07A45221E23E92006031C8 /* MainVCDelegate.swift in Sources */,
|
||||
EECB17922275ACB3002964A4 /* FiatVC.swift in Sources */,
|
||||
EE377EC521E8F47100138385 /* PassphraseVC.swift in Sources */,
|
||||
EEBEBB952207425500A6BD18 /* SendCoordinator.swift in Sources */,
|
||||
EE1876A1221612AE004853A7 /* ReviewVCViewModel.swift in Sources */,
|
||||
|
@ -811,8 +863,11 @@
|
|||
EE57702B21D0230C00433CAB /* ZWProgressBar.swift in Sources */,
|
||||
EECB17A022777D6A002964A4 /* Languages.swift in Sources */,
|
||||
EE377EED21F7B02600138385 /* TrxMemoTableViewCell.swift in Sources */,
|
||||
EECB17942275E5D4002964A4 /* FiatIndexTableViewCell.swift in Sources */,
|
||||
EE57702921D0011400433CAB /* Colors.swift in Sources */,
|
||||
EE377EE621F4F1C400138385 /* TrxHistoryObservable.swift in Sources */,
|
||||
EECB179A2275E894002964A4 /* FiatVCViewModel.swift in Sources */,
|
||||
EECB179E22777ADE002964A4 /* PropertyStore.swift in Sources */,
|
||||
EEBEBBA02208D75600A6BD18 /* MemoVCDelegate.swift in Sources */,
|
||||
EE377EE421F4F1A100138385 /* TrxDetails.swift in Sources */,
|
||||
EE377ECB21E8F71700138385 /* PassphraseEntryMode.swift in Sources */,
|
||||
|
@ -829,6 +884,7 @@
|
|||
EEBEBB7B2200DFC000A6BD18 /* ScanVC.swift in Sources */,
|
||||
EEE15B1D227231F0008231B6 /* SettingsVCViewModel.swift in Sources */,
|
||||
EE1876A9221EE0B2004853A7 /* Payment.swift in Sources */,
|
||||
EECB178D2275A836002964A4 /* LanguageVC.swift in Sources */,
|
||||
EEE15B1522722C77008231B6 /* SettingsCoordinator.swift in Sources */,
|
||||
EE576FFE21CFCC5500433CAB /* AppDelegate.swift in Sources */,
|
||||
EE94A74C22135B7200882BB1 /* TrxDetailsVCDelegate.swift in Sources */,
|
||||
|
@ -857,6 +913,7 @@
|
|||
EE377EF121FDEE3F00138385 /* ZEC.swift in Sources */,
|
||||
EEBEBB972207477100A6BD18 /* SendCoordinator.Delegate.swift in Sources */,
|
||||
EE377ED221F47E1400138385 /* HomeVC.swift in Sources */,
|
||||
EECB17982275E7B5002964A4 /* FiatVCDelegate.swift in Sources */,
|
||||
EEE15B222273B6C5008231B6 /* SettingsTwoLabelsTableViewCell.swift in Sources */,
|
||||
EE377ED621F4835F00138385 /* HomeVCDelegate.swift in Sources */,
|
||||
EE377EBE21E68C0B00138385 /* PinVCDelegate.swift in Sources */,
|
||||
|
@ -866,6 +923,7 @@
|
|||
EEBEBB7721FF91B700A6BD18 /* RecipientAddressDelegate.swift in Sources */,
|
||||
EEE15B112270E903008231B6 /* QrcVCViewModel.swift in Sources */,
|
||||
EE4AFAAD226652E500997CE3 /* AddressVC.swift in Sources */,
|
||||
EECB17962275E601002964A4 /* FiatCurrencyTableViewCell.swift in Sources */,
|
||||
EEBEBBA12208D75A00A6BD18 /* MemoVC.swift in Sources */,
|
||||
EE07A45021E23E43006031C8 /* MainVC.swift in Sources */,
|
||||
EEE15B192272305C008231B6 /* SettingsVC.swift in Sources */,
|
||||
|
|
|
@ -0,0 +1,127 @@
|
|||
//
|
||||
// PropertyStore.swift
|
||||
// ZWallet
|
||||
//
|
||||
// Created by loj on 29.04.19.
|
||||
// Copyright © 2019 XMR Systems LLC. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
|
||||
public protocol PropertyStoreProtocol {
|
||||
|
||||
func wipeAll()
|
||||
|
||||
var onboardingIsFinished: Bool { get set }
|
||||
var language: String { get set }
|
||||
var currency: String { get set }
|
||||
var nodeAddress: String { get set }
|
||||
var lastFiatUpdate: Date? { get set }
|
||||
var lastFiatFactor: Double? { get set }
|
||||
var feeInAtomicUnits: UInt64 { get set }
|
||||
}
|
||||
|
||||
|
||||
public class PropertyStore: PropertyStoreProtocol {
|
||||
|
||||
private let TagOnboardingIsFinished = "OnboardingIsFinished"
|
||||
private let TagLanguage = "Language"
|
||||
private let TagCurrency = "Currency"
|
||||
private let TagNodeAddress = "NodeAddress"
|
||||
private let TagLastFiatUpdate = "FiatUpdate"
|
||||
private let TagLastFiatFactor = "FiatFactor"
|
||||
private let TagFeeInAtomicUnits = "FeeInAtomicUnits"
|
||||
|
||||
private let defaultStore = UserDefaults.standard
|
||||
|
||||
public init() {
|
||||
}
|
||||
|
||||
public func wipeAll() {
|
||||
}
|
||||
|
||||
public var onboardingIsFinished: Bool {
|
||||
get {
|
||||
if let onboardingFinished = self.defaultStore.object(forKey: TagOnboardingIsFinished) as? Bool {
|
||||
return onboardingFinished
|
||||
}
|
||||
return false
|
||||
}
|
||||
set {
|
||||
self.defaultStore.set(newValue, forKey: TagOnboardingIsFinished)
|
||||
}
|
||||
}
|
||||
|
||||
public var language: String {
|
||||
get {
|
||||
if let language = self.defaultStore.object(forKey: TagLanguage) as? String {
|
||||
return language
|
||||
}
|
||||
return Localization.initialLanguage()
|
||||
}
|
||||
set {
|
||||
self.defaultStore.set(newValue, forKey: TagLanguage)
|
||||
}
|
||||
}
|
||||
|
||||
public var currency: String {
|
||||
get {
|
||||
if let currency = self.defaultStore.object(forKey: TagCurrency) as? String {
|
||||
return currency
|
||||
}
|
||||
return Constants.defaultCurrency
|
||||
}
|
||||
set {
|
||||
self.defaultStore.set(newValue, forKey: TagCurrency)
|
||||
}
|
||||
}
|
||||
|
||||
public var nodeAddress: String {
|
||||
get {
|
||||
if let nodeAddress = self.defaultStore.object(forKey: TagNodeAddress) as? String {
|
||||
return nodeAddress
|
||||
}
|
||||
return Constants.defaultNodeAddress
|
||||
}
|
||||
set {
|
||||
self.defaultStore.set(newValue, forKey: TagNodeAddress)
|
||||
}
|
||||
}
|
||||
|
||||
public var lastFiatUpdate: Date? {
|
||||
get {
|
||||
if let fiatUpdate = self.defaultStore.object(forKey: TagLastFiatUpdate) as? Date? {
|
||||
return fiatUpdate
|
||||
}
|
||||
return nil
|
||||
}
|
||||
set {
|
||||
self.defaultStore.set(newValue, forKey: TagLastFiatUpdate)
|
||||
}
|
||||
}
|
||||
|
||||
public var lastFiatFactor: Double? {
|
||||
get {
|
||||
if let fiatFactor = self.defaultStore.object(forKey: TagLastFiatFactor) as? Double? {
|
||||
return fiatFactor
|
||||
}
|
||||
return nil
|
||||
}
|
||||
set {
|
||||
self.defaultStore.set(newValue, forKey: TagLastFiatFactor)
|
||||
}
|
||||
}
|
||||
|
||||
public var feeInAtomicUnits: UInt64 {
|
||||
get {
|
||||
if let fee = self.defaultStore.object(forKey: TagFeeInAtomicUnits) as? UInt64 {
|
||||
return fee
|
||||
}
|
||||
return 0
|
||||
}
|
||||
set {
|
||||
self.defaultStore.set(newValue, forKey: TagFeeInAtomicUnits)
|
||||
}
|
||||
}
|
||||
}
|
|
@ -152,3 +152,7 @@
|
|||
|
||||
"settings.displayPassphrase" = "Passwort anzeigen";
|
||||
|
||||
"fiat.title" = "Währung wählen";
|
||||
|
||||
"general.search" = "Suchen";
|
||||
|
||||
|
|
|
@ -152,3 +152,7 @@
|
|||
|
||||
"settings.displayPassphrase" = "Display Passphrase";
|
||||
|
||||
"fiat.title" = "Select Currency";
|
||||
|
||||
"general.search" = "Search";
|
||||
|
||||
|
|
|
@ -0,0 +1,145 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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="retina6_1" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14490.49"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<customFonts key="customFonts">
|
||||
<array key="SourceSansPro-Bold.ttf">
|
||||
<string>SourceSansPro-Bold</string>
|
||||
</array>
|
||||
<array key="SourceSansPro-Regular.ttf">
|
||||
<string>SourceSansPro-Regular</string>
|
||||
</array>
|
||||
</customFonts>
|
||||
<scenes>
|
||||
<!--!!Fiat-->
|
||||
<scene sceneID="BVC-Ua-pHo">
|
||||
<objects>
|
||||
<tableViewController storyboardIdentifier="Fiat" title="!!Fiat" id="3kL-n4-JwT" customClass="FiatVC" customModule="ZWallet" customModuleProvider="target" sceneMemberID="viewController">
|
||||
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="none" rowHeight="55" estimatedRowHeight="-1" sectionHeaderHeight="18" sectionFooterHeight="18" id="mXm-SR-Pcu">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<searchBar key="tableHeaderView" contentMode="redraw" searchBarStyle="minimal" placeholder="!!Search" id="AUu-dA-6Da">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="56"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
|
||||
<textInputTraits key="textInputTraits" autocorrectionType="no" spellCheckingType="no" smartDashesType="no" smartInsertDeleteType="no" smartQuotesType="no"/>
|
||||
</searchBar>
|
||||
<prototypes>
|
||||
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="default" indentationWidth="10" reuseIdentifier="FiatIndexCell" id="rhZ-K8-mRq" userLabel="FiatIndexCell" customClass="FiatIndexTableViewCell" customModule="ZWallet" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="111.5" width="414" height="55"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="rhZ-K8-mRq" id="Bea-hJ-yx7">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="55"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="!!A" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="CkO-4a-ScX">
|
||||
<rect key="frame" x="24" y="24" width="366" height="31"/>
|
||||
<fontDescription key="fontDescription" name="SourceSansPro-Bold" family="Source Sans Pro" pointSize="24"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="CkO-4a-ScX" firstAttribute="centerY" secondItem="Bea-hJ-yx7" secondAttribute="centerY" constant="12" id="YFh-Cr-RUI"/>
|
||||
<constraint firstAttribute="trailing" secondItem="CkO-4a-ScX" secondAttribute="trailing" constant="24" id="jwB-KW-JzI"/>
|
||||
<constraint firstItem="CkO-4a-ScX" firstAttribute="leading" secondItem="Bea-hJ-yx7" secondAttribute="leading" constant="24" id="s1A-as-6go"/>
|
||||
</constraints>
|
||||
</tableViewCellContentView>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<connections>
|
||||
<outlet property="indexLabel" destination="CkO-4a-ScX" id="Yug-NN-Eqv"/>
|
||||
</connections>
|
||||
</tableViewCell>
|
||||
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="default" indentationWidth="10" reuseIdentifier="FiatCurrencyCell" id="zfR-r3-fJ3" userLabel="FiatCurrencyCell" customClass="FiatCurrencyTableViewCell" customModule="ZWallet" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="166.5" width="414" height="55"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="zfR-r3-fJ3" id="uED-33-qTF">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="55"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="!!CHF" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="I2k-bc-yN7">
|
||||
<rect key="frame" x="24" y="16" width="50" height="23"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="50" id="4hG-ct-G5l"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" name="SourceSansPro-Regular" family="Source Sans Pro" pointSize="18"/>
|
||||
<color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="RadioSelected" highlighted="YES" translatesAutoresizingMaskIntoConstraints="NO" id="hlI-2C-BhY">
|
||||
<rect key="frame" x="370" y="17" width="20" height="20"/>
|
||||
<color key="tintColor" red="0.2784313725" green="0.54901960780000003" blue="0.93333333330000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="20" id="9rT-mI-gfs"/>
|
||||
<constraint firstAttribute="height" constant="20" id="TKZ-LW-rdR"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="xwT-bQ-iFQ">
|
||||
<rect key="frame" x="24" y="54" width="366" height="1"/>
|
||||
<color key="backgroundColor" red="0.91764705882352937" green="0.91764705882352937" blue="0.91764705882352937" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="1" id="QhN-ko-j1n"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="!!Swiss Franc" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QeC-uA-kJs">
|
||||
<rect key="frame" x="124" y="16" width="238" height="23"/>
|
||||
<fontDescription key="fontDescription" name="SourceSansPro-Regular" family="Source Sans Pro" pointSize="18"/>
|
||||
<color key="textColor" red="0.50980392156862742" green="0.50980392156862742" blue="0.50980392156862742" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="xwT-bQ-iFQ" firstAttribute="leading" secondItem="uED-33-qTF" secondAttribute="leading" constant="24" id="5eT-sr-fvg"/>
|
||||
<constraint firstItem="QeC-uA-kJs" firstAttribute="leading" secondItem="I2k-bc-yN7" secondAttribute="leading" constant="100" id="G2K-qn-YOb"/>
|
||||
<constraint firstItem="I2k-bc-yN7" firstAttribute="leading" secondItem="uED-33-qTF" secondAttribute="leading" constant="24" id="GJy-IE-8eu"/>
|
||||
<constraint firstItem="I2k-bc-yN7" firstAttribute="top" secondItem="uED-33-qTF" secondAttribute="top" constant="16" id="INK-GV-dcO"/>
|
||||
<constraint firstItem="hlI-2C-BhY" firstAttribute="top" secondItem="uED-33-qTF" secondAttribute="top" constant="17" id="Jad-ne-MJS"/>
|
||||
<constraint firstAttribute="trailing" secondItem="xwT-bQ-iFQ" secondAttribute="trailing" constant="24" id="VK5-BD-Z85"/>
|
||||
<constraint firstAttribute="bottom" secondItem="xwT-bQ-iFQ" secondAttribute="bottom" id="ZRs-r7-xTN"/>
|
||||
<constraint firstAttribute="trailing" secondItem="hlI-2C-BhY" secondAttribute="trailing" constant="24" id="fGz-KS-bUC"/>
|
||||
<constraint firstItem="QeC-uA-kJs" firstAttribute="top" secondItem="uED-33-qTF" secondAttribute="top" constant="16" id="tL1-nW-9uN"/>
|
||||
<constraint firstItem="hlI-2C-BhY" firstAttribute="leading" secondItem="QeC-uA-kJs" secondAttribute="trailing" constant="8" id="vQ3-sP-XsR"/>
|
||||
</constraints>
|
||||
</tableViewCellContentView>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<connections>
|
||||
<outlet property="currencyNameLabel" destination="QeC-uA-kJs" id="pUM-6F-CjE"/>
|
||||
<outlet property="currenyIdLabel" destination="I2k-bc-yN7" id="XPg-m5-3rF"/>
|
||||
<outlet property="radioImageView" destination="hlI-2C-BhY" id="2RP-1V-0ao"/>
|
||||
</connections>
|
||||
</tableViewCell>
|
||||
</prototypes>
|
||||
<sections/>
|
||||
<connections>
|
||||
<outlet property="dataSource" destination="3kL-n4-JwT" id="abQ-jL-aMC"/>
|
||||
<outlet property="delegate" destination="3kL-n4-JwT" id="m0d-Uf-9Km"/>
|
||||
</connections>
|
||||
</tableView>
|
||||
<navigationItem key="navigationItem" title="!!Fiat" largeTitleDisplayMode="always" id="Dge-KJ-Zam">
|
||||
<barButtonItem key="leftBarButtonItem" title="Item" image="ArrowBack" id="K6K-1f-aoz" userLabel="BackButton">
|
||||
<color key="tintColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<connections>
|
||||
<action selector="backButtonTouched" destination="3kL-n4-JwT" id="RQK-nX-tvF"/>
|
||||
</connections>
|
||||
</barButtonItem>
|
||||
</navigationItem>
|
||||
<simulatedNavigationBarMetrics key="simulatedTopBarMetrics" prompted="NO"/>
|
||||
<connections>
|
||||
<outlet property="searchBar" destination="AUu-dA-6Da" id="SAv-sw-Nqo"/>
|
||||
</connections>
|
||||
</tableViewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="7cG-nS-xgr" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="105.79710144927537" y="151.33928571428569"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
<resources>
|
||||
<image name="ArrowBack" width="24" height="24"/>
|
||||
<image name="RadioSelected" width="20" height="20"/>
|
||||
</resources>
|
||||
</document>
|
|
@ -0,0 +1,185 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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="retina6_1" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<dependencies>
|
||||
<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>
|
||||
<customFonts key="customFonts">
|
||||
<array key="SourceSansPro-Bold.ttf">
|
||||
<string>SourceSansPro-Bold</string>
|
||||
</array>
|
||||
<array key="SourceSansPro-Regular.ttf">
|
||||
<string>SourceSansPro-Regular</string>
|
||||
</array>
|
||||
</customFonts>
|
||||
<scenes>
|
||||
<!--LanguageVC-->
|
||||
<scene sceneID="5TK-63-Amy">
|
||||
<objects>
|
||||
<viewController storyboardIdentifier="Language" id="M2V-hB-lEq" customClass="LanguageVC" customModule="ZWallet" sceneMemberID="viewController">
|
||||
<view key="view" contentMode="scaleToFill" id="MfU-s3-T92">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="BD7-Xi-ojG" userLabel="BackButton">
|
||||
<rect key="frame" x="14" y="48" width="44" height="44"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="44" id="8S4-IY-aNc"/>
|
||||
<constraint firstAttribute="width" constant="44" id="onO-tg-fYE"/>
|
||||
</constraints>
|
||||
<state key="normal" image="ArrowBack"/>
|
||||
</button>
|
||||
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" rowHeight="48" estimatedRowHeight="-1" sectionHeaderHeight="18" sectionFooterHeight="18" translatesAutoresizingMaskIntoConstraints="NO" id="q79-B3-nPW">
|
||||
<rect key="frame" x="0.0" y="171" width="414" height="725"/>
|
||||
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
|
||||
<prototypes>
|
||||
<tableViewCell contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="default" indentationWidth="10" reuseIdentifier="SettingsTwoLabelsCell" id="9ur-6u-FUh" userLabel="TwoLabelsCell" customClass="SettingsTwoLabelsTableViewCell" customModule="ZWallet">
|
||||
<rect key="frame" x="0.0" y="55.5" width="414" height="48"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="9ur-6u-FUh" id="Up4-bQ-WE9">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="47.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" verticalHuggingPriority="251" text="!!Left" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0r1-0w-aZe" userLabel="LeftLabel">
|
||||
<rect key="frame" x="24" y="13.5" width="218" height="21"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="180" id="iY2-O9-Eeb"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" name="SourceSansPro-Regular" family="Source Sans Pro" pointSize="16"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="!!Right" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="v31-CV-Ig6" userLabel="RightLabel">
|
||||
<rect key="frame" x="258" y="13.5" width="100" height="21"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="100" id="9we-NL-ajp"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" name="SourceSansPro-Regular" family="Source Sans Pro" pointSize="16"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<imageView userInteractionEnabled="NO" alpha="0.40000000596046448" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="DisclosureIndicator" translatesAutoresizingMaskIntoConstraints="NO" id="2CD-U8-Oyl">
|
||||
<rect key="frame" x="382" y="17.5" width="8" height="13"/>
|
||||
<viewLayoutGuide key="safeArea" id="BVq-JV-ZhK"/>
|
||||
</imageView>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="0r1-0w-aZe" firstAttribute="leading" secondItem="Up4-bQ-WE9" secondAttribute="leading" constant="24" id="1y0-sF-kUS"/>
|
||||
<constraint firstItem="2CD-U8-Oyl" firstAttribute="centerY" secondItem="Up4-bQ-WE9" secondAttribute="centerY" id="9jv-xq-dEx"/>
|
||||
<constraint firstItem="2CD-U8-Oyl" firstAttribute="leading" secondItem="v31-CV-Ig6" secondAttribute="trailing" constant="24" id="B3k-KX-ZIW"/>
|
||||
<constraint firstItem="0r1-0w-aZe" firstAttribute="centerY" secondItem="Up4-bQ-WE9" secondAttribute="centerY" id="Jjf-dt-IOM"/>
|
||||
<constraint firstAttribute="trailing" secondItem="2CD-U8-Oyl" secondAttribute="trailing" constant="24" id="gut-Ik-XLC"/>
|
||||
<constraint firstItem="v31-CV-Ig6" firstAttribute="leading" secondItem="0r1-0w-aZe" secondAttribute="trailing" constant="16" id="sBR-dh-0SH"/>
|
||||
<constraint firstItem="v31-CV-Ig6" firstAttribute="centerY" secondItem="Up4-bQ-WE9" secondAttribute="centerY" id="uqe-An-Edr"/>
|
||||
</constraints>
|
||||
</tableViewCellContentView>
|
||||
<connections>
|
||||
<outlet property="leftLabel" destination="0r1-0w-aZe" id="gi3-KJ-5NP"/>
|
||||
<outlet property="rightLabel" destination="v31-CV-Ig6" id="4SW-bQ-UGT"/>
|
||||
</connections>
|
||||
</tableViewCell>
|
||||
<tableViewCell contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="default" indentationWidth="10" reuseIdentifier="SettingsOneLabelCell" id="tr9-Wr-iEY" userLabel="OneLabelCell" customClass="SettingsOneLabelTableViewCell" customModule="ZWallet">
|
||||
<rect key="frame" x="0.0" y="103.5" width="414" height="48"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="tr9-Wr-iEY" id="1ih-QA-kGw">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="47.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" verticalHuggingPriority="251" text="!!Left" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="sNp-76-3jx" userLabel="LeftLabel">
|
||||
<rect key="frame" x="24" y="13.5" width="334" height="21"/>
|
||||
<fontDescription key="fontDescription" name="SourceSansPro-Regular" family="Source Sans Pro" pointSize="16"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<imageView userInteractionEnabled="NO" alpha="0.40000000596046448" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="DisclosureIndicator" translatesAutoresizingMaskIntoConstraints="NO" id="3rv-zo-Amg">
|
||||
<rect key="frame" x="382" y="17.5" width="8" height="13"/>
|
||||
<viewLayoutGuide key="safeArea" id="Gal-Ru-udU"/>
|
||||
</imageView>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="3rv-zo-Amg" firstAttribute="leading" secondItem="sNp-76-3jx" secondAttribute="trailing" constant="24" id="7M7-gR-wA9"/>
|
||||
<constraint firstItem="sNp-76-3jx" firstAttribute="leading" secondItem="1ih-QA-kGw" secondAttribute="leading" constant="24" id="BrG-Fe-SPd"/>
|
||||
<constraint firstItem="sNp-76-3jx" firstAttribute="centerY" secondItem="1ih-QA-kGw" secondAttribute="centerY" id="D7H-tw-NoN"/>
|
||||
<constraint firstItem="3rv-zo-Amg" firstAttribute="centerY" secondItem="1ih-QA-kGw" secondAttribute="centerY" id="DdC-FE-89S"/>
|
||||
<constraint firstAttribute="trailing" secondItem="3rv-zo-Amg" secondAttribute="trailing" constant="24" id="mdW-Va-22b"/>
|
||||
</constraints>
|
||||
</tableViewCellContentView>
|
||||
<connections>
|
||||
<outlet property="leftLabel" destination="sNp-76-3jx" id="Tn9-xC-9Hj"/>
|
||||
</connections>
|
||||
</tableViewCell>
|
||||
<tableViewCell contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="default" indentationWidth="10" reuseIdentifier="SettingsSwitchCell" id="9oX-To-Kbp" userLabel="SwitchCell" customClass="SettingsSwitchTableViewCell" customModule="ZWallet">
|
||||
<rect key="frame" x="0.0" y="151.5" width="414" height="48"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="9oX-To-Kbp" id="Kas-rg-D0T">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="47.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" verticalHuggingPriority="251" text="!!Right" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2vT-ca-43g" userLabel="LeftLabel">
|
||||
<rect key="frame" x="24" y="13.5" width="297" height="21"/>
|
||||
<fontDescription key="fontDescription" name="SourceSansPro-Regular" family="Source Sans Pro" pointSize="16"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="7wh-YI-lVe">
|
||||
<rect key="frame" x="341" y="8.5" width="51" height="31"/>
|
||||
<color key="onTintColor" red="0.2404455543" green="0.49460166690000001" blue="0.8346244693" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<connections>
|
||||
<action selector="switchChanged" destination="9oX-To-Kbp" eventType="valueChanged" id="gLB-Jg-Aue"/>
|
||||
</connections>
|
||||
</switch>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="7wh-YI-lVe" firstAttribute="leading" secondItem="2vT-ca-43g" secondAttribute="trailing" constant="20" id="Ay5-ba-Ic3"/>
|
||||
<constraint firstAttribute="trailing" secondItem="7wh-YI-lVe" secondAttribute="trailing" constant="24" id="Eff-HJ-ImQ"/>
|
||||
<constraint firstItem="2vT-ca-43g" firstAttribute="centerY" secondItem="Kas-rg-D0T" secondAttribute="centerY" id="LxI-wP-U9A"/>
|
||||
<constraint firstItem="7wh-YI-lVe" firstAttribute="centerY" secondItem="Kas-rg-D0T" secondAttribute="centerY" id="pgv-PD-4wf"/>
|
||||
<constraint firstItem="2vT-ca-43g" firstAttribute="leading" secondItem="Kas-rg-D0T" secondAttribute="leading" constant="24" id="tLC-6t-VsT"/>
|
||||
</constraints>
|
||||
</tableViewCellContentView>
|
||||
<connections>
|
||||
<outlet property="leftLabel" destination="2vT-ca-43g" id="5U3-5h-MN1"/>
|
||||
<outlet property="switchSwitch" destination="7wh-YI-lVe" id="Cxy-lU-c8A"/>
|
||||
</connections>
|
||||
</tableViewCell>
|
||||
</prototypes>
|
||||
</tableView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="!!Language" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="r9g-U1-6GC">
|
||||
<rect key="frame" x="24" y="116" width="366" height="43"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="43" id="TKL-j1-J2Y"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" name="SourceSansPro-Bold" family="Source Sans Pro" pointSize="34"/>
|
||||
<color key="textColor" red="0.2901675105" green="0.29021433000000002" blue="0.29015725850000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="bottom" secondItem="q79-B3-nPW" secondAttribute="bottom" id="6Ej-R7-6AN"/>
|
||||
<constraint firstItem="q79-B3-nPW" firstAttribute="leading" secondItem="Vyu-5m-YUx" secondAttribute="leading" id="CPe-kP-tOU"/>
|
||||
<constraint firstItem="BD7-Xi-ojG" firstAttribute="leading" secondItem="Vyu-5m-YUx" secondAttribute="leading" constant="14" id="KeI-Mb-OeO"/>
|
||||
<constraint firstItem="q79-B3-nPW" firstAttribute="trailing" secondItem="Vyu-5m-YUx" secondAttribute="trailing" id="T8M-M4-Pzt"/>
|
||||
<constraint firstItem="r9g-U1-6GC" firstAttribute="leading" secondItem="Vyu-5m-YUx" secondAttribute="leading" constant="24" id="WOg-Dr-Ycf"/>
|
||||
<constraint firstItem="BD7-Xi-ojG" firstAttribute="top" secondItem="Vyu-5m-YUx" secondAttribute="top" constant="4" id="XOf-4Y-77E"/>
|
||||
<constraint firstItem="q79-B3-nPW" firstAttribute="top" secondItem="r9g-U1-6GC" secondAttribute="bottom" constant="12" id="hfM-KR-3FO"/>
|
||||
<constraint firstItem="Vyu-5m-YUx" firstAttribute="trailing" secondItem="r9g-U1-6GC" secondAttribute="trailing" constant="24" id="unm-EG-rDc"/>
|
||||
<constraint firstItem="r9g-U1-6GC" firstAttribute="top" secondItem="BD7-Xi-ojG" secondAttribute="bottom" constant="24" id="vxQ-UA-Si2"/>
|
||||
</constraints>
|
||||
<viewLayoutGuide key="safeArea" id="Vyu-5m-YUx"/>
|
||||
</view>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="fNu-aZ-Pmz" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="133.33333333333334" y="-179.46428571428569"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
<resources>
|
||||
<image name="ArrowBack" width="24" height="24"/>
|
||||
<image name="DisclosureIndicator" width="8" height="13"/>
|
||||
</resources>
|
||||
</document>
|
|
@ -0,0 +1,16 @@
|
|||
//
|
||||
// FiatCurrencyTableViewCell.swift
|
||||
// ZWallet
|
||||
//
|
||||
// Created by loj on 28.04.19.
|
||||
// Copyright © 2019 XMR Systems LLC. All rights reserved.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
class FiatCurrencyTableViewCell: UITableViewCell {
|
||||
|
||||
@IBOutlet weak var currenyIdLabel: UILabel!
|
||||
@IBOutlet weak var currencyNameLabel: UILabel!
|
||||
@IBOutlet weak var radioImageView: UIImageView!
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
//
|
||||
// FiatIndexTableViewCell.swift
|
||||
// ZWallet
|
||||
//
|
||||
// Created by loj on 28.04.19.
|
||||
// Copyright © 2019 XMR Systems LLC. All rights reserved.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
class FiatIndexTableViewCell: UITableViewCell {
|
||||
|
||||
@IBOutlet weak var indexLabel: UILabel!
|
||||
}
|
|
@ -0,0 +1,110 @@
|
|||
//
|
||||
// FiatVC.swift
|
||||
// ZWallet
|
||||
//
|
||||
// Created by loj on 28.04.19.
|
||||
// Copyright © 2019 XMR Systems LLC. All rights reserved.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
class FiatVC: UITableViewController {
|
||||
|
||||
@IBOutlet weak var backButton: UIButton!
|
||||
@IBOutlet weak var searchBar: UISearchBar!
|
||||
|
||||
public weak var delegate: FiatVCDelegate?
|
||||
public weak var localizer: Localizable?
|
||||
public var viewModel: FiatVCViewModel?
|
||||
|
||||
private var currencies: [String:[String]] {
|
||||
get {
|
||||
return self.viewModel?.currencies ?? [String:[String]]()
|
||||
}
|
||||
}
|
||||
|
||||
@IBAction func backButtonTouched() {
|
||||
self.delegate?.fiatVCDelegateBackTouched(sender: self)
|
||||
}
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
self.setup()
|
||||
}
|
||||
|
||||
override func viewWillAppear(_ animated: Bool) {
|
||||
super.viewWillAppear(animated)
|
||||
self.update()
|
||||
}
|
||||
|
||||
private func setup() {
|
||||
self.navigationController?.navigationBar.isHidden = false
|
||||
self.navigationController?.navigationBar.prefersLargeTitles = true
|
||||
self.navigationController?.navigationBar.setValue(true, forKey: "hidesShadow")
|
||||
self.navigationController?.navigationBar.isTranslucent = true
|
||||
|
||||
// Uncomment the following line to preserve selection between presentations
|
||||
// self.clearsSelectionOnViewWillAppear = false
|
||||
|
||||
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
|
||||
// self.navigationItem.rightBarButtonItem = self.editButtonItem
|
||||
}
|
||||
|
||||
private func update() {
|
||||
self.title = self.localizer?.localized("fiat.title")
|
||||
self.searchBar.placeholder = self.localizer?.localized("general.search")
|
||||
}
|
||||
|
||||
private lazy var sectionTitles: [String] = {
|
||||
return self.currencies
|
||||
.keys
|
||||
.sorted { $0 < $1 }
|
||||
}()
|
||||
|
||||
public func value(atRow row: Int, inSection section: Int) -> String? {
|
||||
let key = self.sectionTitles[section]
|
||||
guard let values = self.currencies[key] else { return nil }
|
||||
let value = values[row]
|
||||
return value
|
||||
}
|
||||
|
||||
private enum CellIdentifiers: String {
|
||||
case indexCell = "FiatIndexCell"
|
||||
case currencyCell = "FiatCurrencyCell"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extension FiatVC {
|
||||
|
||||
override func numberOfSections(in tableView: UITableView) -> Int {
|
||||
return self.currencies.count
|
||||
}
|
||||
|
||||
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
|
||||
let key = self.sectionTitles[section]
|
||||
let values = currencies[key] ?? [String]()
|
||||
|
||||
return values.count + 1
|
||||
}
|
||||
|
||||
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
|
||||
if indexPath.row == 0 {
|
||||
return self.getCell(forIndex: self.sectionTitles[indexPath.section])
|
||||
}
|
||||
return self.getCell(forCurrency: self.value(atRow: indexPath.row - 1, inSection: indexPath.section) ?? "?")
|
||||
}
|
||||
|
||||
private func getCell(forIndex index: String) -> UITableViewCell {
|
||||
let cell = self.tableView.dequeueReusableCell(withIdentifier: CellIdentifiers.indexCell.rawValue) as! FiatIndexTableViewCell
|
||||
cell.indexLabel.text = index
|
||||
return cell
|
||||
}
|
||||
|
||||
private func getCell(forCurrency currency: String) -> UITableViewCell {
|
||||
let cell = self.tableView.dequeueReusableCell(withIdentifier: CellIdentifiers.currencyCell.rawValue) as! FiatCurrencyTableViewCell
|
||||
cell.currenyIdLabel.text = currency
|
||||
cell.currencyNameLabel.text = self.localizer?.localized(currency)
|
||||
return cell
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
//
|
||||
// FiatVCDelegate.swift
|
||||
// ZWallet
|
||||
//
|
||||
// Created by loj on 28.04.19.
|
||||
// Copyright © 2019 XMR Systems LLC. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
|
||||
internal protocol FiatVCDelegate: class {
|
||||
func fiatVCDelegateBackTouched(sender: FiatVC)
|
||||
func fiatVCDelegateCellTouched(sender: FiatVC)
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
//
|
||||
// FiatVCViewModel.swift
|
||||
// ZWallet
|
||||
//
|
||||
// Created by loj on 28.04.19.
|
||||
// Copyright © 2019 XMR Systems LLC. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
|
||||
internal struct FiatVCViewModel {
|
||||
let currencies: [String:[String]]
|
||||
|
||||
init(currencies: [String:[String]]) {
|
||||
self.currencies = currencies
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
//
|
||||
// LanguageVCViewController.swift
|
||||
// ZWallet
|
||||
//
|
||||
// Created by loj on 28.04.19.
|
||||
// Copyright © 2019 XMR Systems LLC. All rights reserved.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
class LanguageVC: UITableViewController {
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
// Do any additional setup after loading the view.
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "RadioSelected.pdf"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
},
|
||||
"properties" : {
|
||||
"template-rendering-intent" : "template",
|
||||
"preserves-vector-representation" : true,
|
||||
"auto-scaling" : "auto"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,110 @@
|
|||
%PDF-1.7
|
||||
|
||||
1 0 obj
|
||||
<< >>
|
||||
endobj
|
||||
|
||||
2 0 obj
|
||||
<< /Length 3 0 R >>
|
||||
stream
|
||||
/DeviceRGB CS
|
||||
/DeviceRGB cs
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 5.000000 5.000000 cm
|
||||
10.000000 5.000000 m
|
||||
10.000000 2.238576 7.761424 0.000000 5.000000 0.000000 c
|
||||
2.238576 0.000000 0.000000 2.238576 0.000000 5.000000 c
|
||||
0.000000 7.761424 2.238576 10.000000 5.000000 10.000000 c
|
||||
7.761424 10.000000 10.000000 7.761424 10.000000 5.000000 c
|
||||
h
|
||||
0.278431 0.549020 0.933333 scn
|
||||
f
|
||||
n
|
||||
Q
|
||||
q
|
||||
20.000000 10.000000 m
|
||||
20.000000 4.477153 15.522847 0.000000 10.000000 0.000000 c
|
||||
4.477152 0.000000 0.000000 4.477153 0.000000 10.000000 c
|
||||
0.000000 15.522848 4.477152 20.000000 10.000000 20.000000 c
|
||||
15.522847 20.000000 20.000000 15.522848 20.000000 10.000000 c
|
||||
h
|
||||
W*
|
||||
n
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm
|
||||
18.500000 10.000000 m
|
||||
18.500000 5.305579 14.694421 1.500000 10.000000 1.500000 c
|
||||
10.000000 -1.500000 l
|
||||
16.351274 -1.500000 21.500000 3.648726 21.500000 10.000000 c
|
||||
18.500000 10.000000 l
|
||||
h
|
||||
10.000000 1.500000 m
|
||||
5.305580 1.500000 1.500000 5.305579 1.500000 10.000000 c
|
||||
-1.500000 10.000000 l
|
||||
-1.500000 3.648726 3.648725 -1.500000 10.000000 -1.500000 c
|
||||
10.000000 1.500000 l
|
||||
h
|
||||
1.500000 10.000000 m
|
||||
1.500000 14.694420 5.305580 18.500000 10.000000 18.500000 c
|
||||
10.000000 21.500000 l
|
||||
3.648725 21.500000 -1.500000 16.351274 -1.500000 10.000000 c
|
||||
1.500000 10.000000 l
|
||||
h
|
||||
10.000000 18.500000 m
|
||||
14.694421 18.500000 18.500000 14.694420 18.500000 10.000000 c
|
||||
21.500000 10.000000 l
|
||||
21.500000 16.351274 16.351274 21.500000 10.000000 21.500000 c
|
||||
10.000000 18.500000 l
|
||||
h
|
||||
0.278431 0.549020 0.933333 scn
|
||||
f
|
||||
n
|
||||
Q
|
||||
Q
|
||||
|
||||
endstream
|
||||
endobj
|
||||
|
||||
3 0 obj
|
||||
1496
|
||||
endobj
|
||||
|
||||
4 0 obj
|
||||
<< /MediaBox [ 0.000000 0.000000 20.000000 20.000000 ]
|
||||
/Resources 1 0 R
|
||||
/Contents 2 0 R
|
||||
/Parent 5 0 R
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
|
||||
5 0 obj
|
||||
<< /Kids [ 4 0 R ]
|
||||
/Count 1
|
||||
/Type /Pages
|
||||
>>
|
||||
endobj
|
||||
|
||||
6 0 obj
|
||||
<< /Type /Catalog
|
||||
/Pages 5 0 R
|
||||
>>
|
||||
endobj
|
||||
|
||||
xref
|
||||
0 7
|
||||
0000000000 65535 f
|
||||
0000000010 00000 n
|
||||
0000000034 00000 n
|
||||
0000001586 00000 n
|
||||
0000001609 00000 n
|
||||
0000001766 00000 n
|
||||
0000001840 00000 n
|
||||
trailer
|
||||
<< /ID [ (some) (id) ]
|
||||
/Root 6 0 R
|
||||
/Size 7
|
||||
>>
|
||||
startxref
|
||||
1899
|
||||
%%EOF
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "RadioUnselected.pdf"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
},
|
||||
"properties" : {
|
||||
"template-rendering-intent" : "template",
|
||||
"preserves-vector-representation" : true,
|
||||
"auto-scaling" : "auto"
|
||||
}
|
||||
}
|
98
ZWallet/_Assets/Assets.xcassets/RadioUnselected.imageset/RadioUnselected.pdf
vendored
Normal file
98
ZWallet/_Assets/Assets.xcassets/RadioUnselected.imageset/RadioUnselected.pdf
vendored
Normal file
|
@ -0,0 +1,98 @@
|
|||
%PDF-1.7
|
||||
|
||||
1 0 obj
|
||||
<< >>
|
||||
endobj
|
||||
|
||||
2 0 obj
|
||||
<< /Length 3 0 R >>
|
||||
stream
|
||||
/DeviceRGB CS
|
||||
/DeviceRGB cs
|
||||
q
|
||||
20.000000 10.000000 m
|
||||
20.000000 4.477153 15.522847 0.000000 10.000000 0.000000 c
|
||||
4.477152 0.000000 0.000000 4.477153 0.000000 10.000000 c
|
||||
0.000000 15.522848 4.477152 20.000000 10.000000 20.000000 c
|
||||
15.522847 20.000000 20.000000 15.522848 20.000000 10.000000 c
|
||||
h
|
||||
W*
|
||||
n
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm
|
||||
18.500000 10.000000 m
|
||||
18.500000 5.305579 14.694421 1.500000 10.000000 1.500000 c
|
||||
10.000000 -1.500000 l
|
||||
16.351274 -1.500000 21.500000 3.648726 21.500000 10.000000 c
|
||||
18.500000 10.000000 l
|
||||
h
|
||||
10.000000 1.500000 m
|
||||
5.305580 1.500000 1.500000 5.305579 1.500000 10.000000 c
|
||||
-1.500000 10.000000 l
|
||||
-1.500000 3.648726 3.648725 -1.500000 10.000000 -1.500000 c
|
||||
10.000000 1.500000 l
|
||||
h
|
||||
1.500000 10.000000 m
|
||||
1.500000 14.694420 5.305580 18.500000 10.000000 18.500000 c
|
||||
10.000000 21.500000 l
|
||||
3.648725 21.500000 -1.500000 16.351274 -1.500000 10.000000 c
|
||||
1.500000 10.000000 l
|
||||
h
|
||||
10.000000 18.500000 m
|
||||
14.694421 18.500000 18.500000 14.694420 18.500000 10.000000 c
|
||||
21.500000 10.000000 l
|
||||
21.500000 16.351274 16.351274 21.500000 10.000000 21.500000 c
|
||||
10.000000 18.500000 l
|
||||
h
|
||||
0.741176 0.741176 0.741176 scn
|
||||
f
|
||||
n
|
||||
Q
|
||||
Q
|
||||
|
||||
endstream
|
||||
endobj
|
||||
|
||||
3 0 obj
|
||||
1146
|
||||
endobj
|
||||
|
||||
4 0 obj
|
||||
<< /MediaBox [ 0.000000 0.000000 20.000000 20.000000 ]
|
||||
/Resources 1 0 R
|
||||
/Contents 2 0 R
|
||||
/Parent 5 0 R
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
|
||||
5 0 obj
|
||||
<< /Kids [ 4 0 R ]
|
||||
/Count 1
|
||||
/Type /Pages
|
||||
>>
|
||||
endobj
|
||||
|
||||
6 0 obj
|
||||
<< /Type /Catalog
|
||||
/Pages 5 0 R
|
||||
>>
|
||||
endobj
|
||||
|
||||
xref
|
||||
0 7
|
||||
0000000000 65535 f
|
||||
0000000010 00000 n
|
||||
0000000034 00000 n
|
||||
0000001236 00000 n
|
||||
0000001259 00000 n
|
||||
0000001416 00000 n
|
||||
0000001490 00000 n
|
||||
trailer
|
||||
<< /ID [ (some) (id) ]
|
||||
/Root 6 0 R
|
||||
/Size 7
|
||||
>>
|
||||
startxref
|
||||
1549
|
||||
%%EOF
|
Loading…
Reference in New Issue