Manos Chorianopoulos

add CouponViewController

...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
8 8
9 /* Begin PBXBuildFile section */ 9 /* Begin PBXBuildFile section */
10 1E7564BA2823C6D900B9D2AE /* ViewControllerExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E7564B92823C6D900B9D2AE /* ViewControllerExtensions.swift */; }; 10 1E7564BA2823C6D900B9D2AE /* ViewControllerExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E7564B92823C6D900B9D2AE /* ViewControllerExtensions.swift */; };
11 + 1E7564BC2823FE0B00B9D2AE /* CouponViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E7564BB2823FE0B00B9D2AE /* CouponViewController.swift */; };
11 260C6A1AFF7560C32E212F20 /* Pods_WarplySDKFrameworkIOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1353B8C484CC0649CAC2EB74 /* Pods_WarplySDKFrameworkIOS.framework */; }; 12 260C6A1AFF7560C32E212F20 /* Pods_WarplySDKFrameworkIOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1353B8C484CC0649CAC2EB74 /* Pods_WarplySDKFrameworkIOS.framework */; };
12 E634A369282299770069DE27 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = E634A368282299760069DE27 /* Main.storyboard */; }; 13 E634A369282299770069DE27 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = E634A368282299760069DE27 /* Main.storyboard */; };
13 E634A36B2822999B0069DE27 /* CouponsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E634A36A2822999B0069DE27 /* CouponsViewController.swift */; }; 14 E634A36B2822999B0069DE27 /* CouponsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E634A36A2822999B0069DE27 /* CouponsViewController.swift */; };
...@@ -137,6 +138,7 @@ ...@@ -137,6 +138,7 @@
137 /* Begin PBXFileReference section */ 138 /* Begin PBXFileReference section */
138 1353B8C484CC0649CAC2EB74 /* Pods_WarplySDKFrameworkIOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_WarplySDKFrameworkIOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 139 1353B8C484CC0649CAC2EB74 /* Pods_WarplySDKFrameworkIOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_WarplySDKFrameworkIOS.framework; sourceTree = BUILT_PRODUCTS_DIR; };
139 1E7564B92823C6D900B9D2AE /* ViewControllerExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewControllerExtensions.swift; sourceTree = "<group>"; }; 140 1E7564B92823C6D900B9D2AE /* ViewControllerExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewControllerExtensions.swift; sourceTree = "<group>"; };
141 + 1E7564BB2823FE0B00B9D2AE /* CouponViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CouponViewController.swift; sourceTree = "<group>"; };
140 B9413513157AD76ECE896B81 /* Pods-WarplySDKFrameworkIOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WarplySDKFrameworkIOS.release.xcconfig"; path = "Target Support Files/Pods-WarplySDKFrameworkIOS/Pods-WarplySDKFrameworkIOS.release.xcconfig"; sourceTree = "<group>"; }; 142 B9413513157AD76ECE896B81 /* Pods-WarplySDKFrameworkIOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WarplySDKFrameworkIOS.release.xcconfig"; path = "Target Support Files/Pods-WarplySDKFrameworkIOS/Pods-WarplySDKFrameworkIOS.release.xcconfig"; sourceTree = "<group>"; };
141 E634A368282299760069DE27 /* Main.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = "<group>"; }; 143 E634A368282299760069DE27 /* Main.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = "<group>"; };
142 E634A36A2822999B0069DE27 /* CouponsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CouponsViewController.swift; sourceTree = "<group>"; }; 144 E634A36A2822999B0069DE27 /* CouponsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CouponsViewController.swift; sourceTree = "<group>"; };
...@@ -336,6 +338,7 @@ ...@@ -336,6 +338,7 @@
336 E67D1EC528117F2400940F01 /* swiftApi.swift */, 338 E67D1EC528117F2400940F01 /* swiftApi.swift */,
337 E634A368282299760069DE27 /* Main.storyboard */, 339 E634A368282299760069DE27 /* Main.storyboard */,
338 E634A36A2822999B0069DE27 /* CouponsViewController.swift */, 340 E634A36A2822999B0069DE27 /* CouponsViewController.swift */,
341 + 1E7564BB2823FE0B00B9D2AE /* CouponViewController.swift */,
339 E634A36E2823D2290069DE27 /* WalletViewController.swift */, 342 E634A36E2823D2290069DE27 /* WalletViewController.swift */,
340 E634A3702823D26E0069DE27 /* GiftsViewController.swift */, 343 E634A3702823D26E0069DE27 /* GiftsViewController.swift */,
341 E634A3722823D3690069DE27 /* DetailsViewController.swift */, 344 E634A3722823D3690069DE27 /* DetailsViewController.swift */,
...@@ -757,6 +760,7 @@ ...@@ -757,6 +760,7 @@
757 E6D8DF3127A942920006A3A9 /* AFNetworkActivityIndicatorManager.m in Sources */, 760 E6D8DF3127A942920006A3A9 /* AFNetworkActivityIndicatorManager.m in Sources */,
758 E6D8DF3D27A942920006A3A9 /* AFAutoPurgingImageCache.m in Sources */, 761 E6D8DF3D27A942920006A3A9 /* AFAutoPurgingImageCache.m in Sources */,
759 E6D8DF0A27A942920006A3A9 /* WLAPSItem.m in Sources */, 762 E6D8DF0A27A942920006A3A9 /* WLAPSItem.m in Sources */,
763 + 1E7564BC2823FE0B00B9D2AE /* CouponViewController.swift in Sources */,
760 E6D8DF2C27A942920006A3A9 /* UIProgressView+AFNetworking.m in Sources */, 764 E6D8DF2C27A942920006A3A9 /* UIProgressView+AFNetworking.m in Sources */,
761 E6D8DF3C27A942920006A3A9 /* UIWebView+AFNetworking.m in Sources */, 765 E6D8DF3C27A942920006A3A9 /* UIWebView+AFNetworking.m in Sources */,
762 E6D8DF1427A942920006A3A9 /* WLLocationManager.m in Sources */, 766 E6D8DF1427A942920006A3A9 /* WLLocationManager.m in Sources */,
......
1 +//
2 +// CouponViewController.swift
3 +// WarplySDKFrameworkIOS
4 +//
5 +// Created by Manos Chorianopoulos on 5/5/22.
6 +//
7 +
8 +import UIKit
9 +
10 +class CouponViewController: UIViewController {
11 + @IBOutlet weak var mainView: UIView!
12 + @IBOutlet weak var scrollContentView: UIView!
13 + @IBOutlet weak var couponImageHeight: NSLayoutConstraint!
14 + @IBOutlet weak var redeemButton: UIButton!
15 + @IBOutlet weak var termsLabel: UILabel!
16 +
17 + let uiscreen: CGRect = UIScreen.main.bounds
18 +
19 + override func viewDidLoad() {
20 + super.viewDidLoad()
21 +
22 + // Do any additional setup after loading the view.
23 + setBackButton()
24 + setNavigationTitle("Εκπτωτικό κουπόνι")
25 +
26 + mainView.clipsToBounds = true
27 + mainView.layer.cornerRadius = 30
28 + mainView.layer.maskedCorners = [ .layerMinXMinYCorner] // Top left corner radius
29 +
30 + couponImageHeight.constant = self.uiscreen.height * 0.25
31 +
32 + redeemButton.titleLabel?.font = UIFont.systemFont(ofSize: 15, weight: .medium)
33 +
34 + termsLabel.font = UIFont.systemFont(ofSize: 14, weight: UIFont.Weight.medium)
35 + let tap = UITapGestureRecognizer(target: self, action: #selector(CouponViewController.termsTapFunction))
36 + termsLabel.isUserInteractionEnabled = true
37 + termsLabel.addGestureRecognizer(tap)
38 + }
39 +
40 +
41 + // MARK: - Actions
42 +
43 + @objc func termsTapFunction(sender:UITapGestureRecognizer) {
44 + print("Terms tapped!")
45 + }
46 +
47 + @IBAction func redeemButtomAction(_ sender: Any) {
48 + print("redeem Buttom Pressed!")
49 + }
50 +}
51 +
1 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?>
2 -<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> 2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="19455" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
3 <device id="retina6_1" orientation="portrait" appearance="light"/> 3 <device id="retina6_1" orientation="portrait" appearance="light"/>
4 <dependencies> 4 <dependencies>
5 <deployment identifier="iOS"/> 5 <deployment identifier="iOS"/>
6 - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/> 6 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="19454"/>
7 <capability name="Safe area layout guides" minToolsVersion="9.0"/> 7 <capability name="Safe area layout guides" minToolsVersion="9.0"/>
8 <capability name="System colors in document resources" minToolsVersion="11.0"/> 8 <capability name="System colors in document resources" minToolsVersion="11.0"/>
9 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> 9 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
12 <!--Coupons View Controller--> 12 <!--Coupons View Controller-->
13 <scene sceneID="s0d-6b-0kx"> 13 <scene sceneID="s0d-6b-0kx">
14 <objects> 14 <objects>
15 - <viewController storyboardIdentifier="CouponsViewController" id="zti-Lv-RCc" customClass="CouponsViewController" customModule="swift_example" customModuleProvider="target" sceneMemberID="viewController"> 15 + <viewController storyboardIdentifier="CouponsViewController" id="zti-Lv-RCc" customClass="CouponsViewController" customModule="WarplySDKFrameworkIOS" customModuleProvider="target" sceneMemberID="viewController">
16 <view key="view" contentMode="scaleToFill" id="OHf-ga-xvH"> 16 <view key="view" contentMode="scaleToFill" id="OHf-ga-xvH">
17 <rect key="frame" x="0.0" y="0.0" width="414" height="896"/> 17 <rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
18 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> 18 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
...@@ -97,8 +97,139 @@ ...@@ -97,8 +97,139 @@
97 </objects> 97 </objects>
98 <point key="canvasLocation" x="1612" y="129"/> 98 <point key="canvasLocation" x="1612" y="129"/>
99 </scene> 99 </scene>
100 + <!--Coupon View Controller-->
101 + <scene sceneID="yGm-Im-aAN">
102 + <objects>
103 + <viewController storyboardIdentifier="CouponViewController" id="S8k-2D-tGT" customClass="CouponViewController" customModule="WarplySDKFrameworkIOS" customModuleProvider="target" sceneMemberID="viewController">
104 + <view key="view" contentMode="scaleToFill" id="JM4-xN-bgp">
105 + <rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
106 + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
107 + <subviews>
108 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Jqu-cp-CWU">
109 + <rect key="frame" x="0.0" y="54" width="414" height="842"/>
110 + <subviews>
111 + <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" ambiguous="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1N5-oA-ZTb">
112 + <rect key="frame" x="0.0" y="0.0" width="414" height="842"/>
113 + <subviews>
114 + <view contentMode="scaleToFill" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="uTN-Qr-wBi">
115 + <rect key="frame" x="0.0" y="0.0" width="414" height="842"/>
116 + <subviews>
117 + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="3SX-fR-ph2">
118 + <rect key="frame" x="0.0" y="0.0" width="414" height="200"/>
119 + <constraints>
120 + <constraint firstAttribute="height" constant="200" id="zUx-Yd-in7"/>
121 + </constraints>
122 + </imageView>
123 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Πάρε δωρεάν μηνιαία πακέτα με πάνες στα supermarket Σκλαβενίτης!" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="isU-Qv-94G">
124 + <rect key="frame" x="20" y="230" width="341" height="38.5"/>
125 + <fontDescription key="fontDescription" type="boldSystem" pointSize="16"/>
126 + <color key="textColor" red="0.25490196078431371" green="0.33333333333333331" blue="0.39215686274509803" alpha="0.84705882352941175" colorSpace="calibratedRGB"/>
127 + <nil key="highlightedColor"/>
128 + </label>
129 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Χρησιμοποίησε τον παρακάτω κωδικό και πάρε δωρεάν πακέτο πάνες Pampers αποκλειστικά στα Supermarket Σκλαβενίτης" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dSA-lM-N5v">
130 + <rect key="frame" x="20" y="298.5" width="361.5" height="50.5"/>
131 + <fontDescription key="fontDescription" type="system" pointSize="14"/>
132 + <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="0.84705882349999995" colorSpace="calibratedRGB"/>
133 + <nil key="highlightedColor"/>
134 + </label>
135 + <button opaque="NO" contentMode="scaleToFill" ambiguous="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="FCd-hv-dHg">
136 + <rect key="frame" x="30" y="716" width="354" height="50"/>
137 + <constraints>
138 + <constraint firstAttribute="height" constant="50" id="n2w-Tx-hhO"/>
139 + </constraints>
140 + <state key="normal" title="Button"/>
141 + <buttonConfiguration key="configuration" style="plain" title="Απόκτησέ το">
142 + <backgroundConfiguration key="background" cornerRadius="7">
143 + <color key="backgroundColor" red="0.47450980390000003" green="0.74901960779999999" blue="0.078431372550000003" alpha="0.84705882349999995" colorSpace="calibratedRGB"/>
144 + </backgroundConfiguration>
145 + <fontDescription key="titleFontDescription" type="system" weight="medium" pointSize="15"/>
146 + <color key="baseForegroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
147 + </buttonConfiguration>
148 + <connections>
149 + <action selector="redeemButtomAction:" destination="S8k-2D-tGT" eventType="touchUpInside" id="ygO-66-Dsl"/>
150 + </connections>
151 + </button>
152 + <label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" usesAttributedText="YES" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9Wc-e3-KgW">
153 + <rect key="frame" x="20" y="796" width="374" height="16"/>
154 + <attributedString key="attributedText">
155 + <fragment content="Όροι χρήσης">
156 + <attributes>
157 + <color key="NSColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="0.84705882349999995" colorSpace="calibratedRGB"/>
158 + <font key="NSFont" metaFont="system" size="14"/>
159 + <paragraphStyle key="NSParagraphStyle" alignment="center" lineBreakMode="wordWrapping" baseWritingDirection="natural" tighteningFactorForTruncation="0.0"/>
160 + <integer key="NSUnderline" value="1"/>
161 + </attributes>
162 + </fragment>
163 + </attributedString>
164 + <nil key="highlightedColor"/>
165 + </label>
166 + </subviews>
167 + <color key="backgroundColor" systemColor="systemBackgroundColor"/>
168 + <constraints>
169 + <constraint firstItem="dSA-lM-N5v" firstAttribute="leading" secondItem="uTN-Qr-wBi" secondAttribute="leading" constant="20" id="6B9-Tx-YcO"/>
170 + <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="isU-Qv-94G" secondAttribute="trailing" constant="20" id="7cL-ob-hXY"/>
171 + <constraint firstItem="9Wc-e3-KgW" firstAttribute="leading" secondItem="uTN-Qr-wBi" secondAttribute="leading" constant="20" id="91Z-y9-N6s"/>
172 + <constraint firstItem="FCd-hv-dHg" firstAttribute="leading" secondItem="uTN-Qr-wBi" secondAttribute="leading" constant="30" id="DYG-XQ-tco"/>
173 + <constraint firstAttribute="trailing" secondItem="FCd-hv-dHg" secondAttribute="trailing" constant="30" id="KJ4-Vf-6ti"/>
174 + <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="dSA-lM-N5v" secondAttribute="trailing" constant="20" id="LZq-UM-EE3"/>
175 + <constraint firstItem="isU-Qv-94G" firstAttribute="leading" secondItem="uTN-Qr-wBi" secondAttribute="leading" constant="20" id="PR6-tJ-tw0"/>
176 + <constraint firstAttribute="trailing" secondItem="3SX-fR-ph2" secondAttribute="trailing" id="WJj-1Q-Erx"/>
177 + <constraint firstAttribute="bottom" secondItem="9Wc-e3-KgW" secondAttribute="bottom" constant="30" id="dJ7-Kz-ne0"/>
178 + <constraint firstItem="9Wc-e3-KgW" firstAttribute="top" secondItem="FCd-hv-dHg" secondAttribute="bottom" constant="30" id="dTv-Rx-rpW"/>
179 + <constraint firstItem="dSA-lM-N5v" firstAttribute="top" secondItem="isU-Qv-94G" secondAttribute="bottom" constant="30" id="k8m-Rf-p7u"/>
180 + <constraint firstItem="3SX-fR-ph2" firstAttribute="leading" secondItem="uTN-Qr-wBi" secondAttribute="leading" id="nBV-nm-wOq"/>
181 + <constraint firstAttribute="trailing" secondItem="9Wc-e3-KgW" secondAttribute="trailing" constant="20" id="nsf-fZ-63s"/>
182 + <constraint firstItem="3SX-fR-ph2" firstAttribute="top" secondItem="uTN-Qr-wBi" secondAttribute="top" id="oaX-KH-TEh"/>
183 + <constraint firstItem="isU-Qv-94G" firstAttribute="top" secondItem="3SX-fR-ph2" secondAttribute="bottom" constant="30" id="vQf-lC-GgG"/>
184 + <constraint firstItem="FCd-hv-dHg" firstAttribute="top" relation="greaterThanOrEqual" secondItem="dSA-lM-N5v" secondAttribute="bottom" constant="60" id="x3c-xH-QFZ"/>
185 + </constraints>
186 + </view>
187 + </subviews>
188 + <constraints>
189 + <constraint firstItem="uTN-Qr-wBi" firstAttribute="bottom" secondItem="Fnc-An-qkX" secondAttribute="bottom" id="47I-ua-377"/>
190 + <constraint firstItem="uTN-Qr-wBi" firstAttribute="trailing" secondItem="Fnc-An-qkX" secondAttribute="trailing" id="9jH-1A-Uwt"/>
191 + <constraint firstItem="uTN-Qr-wBi" firstAttribute="top" secondItem="Fnc-An-qkX" secondAttribute="top" id="BqH-63-Oj0"/>
192 + <constraint firstItem="uTN-Qr-wBi" firstAttribute="width" secondItem="ffd-ce-497" secondAttribute="width" id="HN8-nm-LRD"/>
193 + <constraint firstItem="uTN-Qr-wBi" firstAttribute="leading" secondItem="Fnc-An-qkX" secondAttribute="leading" id="uZ3-6g-W5e"/>
194 + </constraints>
195 + <viewLayoutGuide key="contentLayoutGuide" id="Fnc-An-qkX"/>
196 + <viewLayoutGuide key="frameLayoutGuide" id="ffd-ce-497"/>
197 + </scrollView>
198 + </subviews>
199 + <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
200 + <constraints>
201 + <constraint firstItem="1N5-oA-ZTb" firstAttribute="leading" secondItem="Jqu-cp-CWU" secondAttribute="leading" id="6xu-Fr-ayy"/>
202 + <constraint firstItem="uTN-Qr-wBi" firstAttribute="height" relation="greaterThanOrEqual" secondItem="Jqu-cp-CWU" secondAttribute="height" id="IW1-Sy-djh"/>
203 + <constraint firstAttribute="trailing" secondItem="1N5-oA-ZTb" secondAttribute="trailing" id="dQR-wy-Qcd"/>
204 + <constraint firstItem="1N5-oA-ZTb" firstAttribute="top" secondItem="Jqu-cp-CWU" secondAttribute="top" id="g8J-5T-9Mg"/>
205 + <constraint firstAttribute="bottom" secondItem="1N5-oA-ZTb" secondAttribute="bottom" id="kaG-d8-5oJ"/>
206 + </constraints>
207 + </view>
208 + </subviews>
209 + <viewLayoutGuide key="safeArea" id="TUZ-8z-puM"/>
210 + <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
211 + <constraints>
212 + <constraint firstAttribute="bottom" secondItem="Jqu-cp-CWU" secondAttribute="bottom" id="ANm-zp-vX6"/>
213 + <constraint firstItem="Jqu-cp-CWU" firstAttribute="top" secondItem="JM4-xN-bgp" secondAttribute="topMargin" constant="10" id="ST9-WE-ewd"/>
214 + <constraint firstAttribute="trailing" secondItem="Jqu-cp-CWU" secondAttribute="trailing" id="eQx-vL-Dfd"/>
215 + <constraint firstItem="Jqu-cp-CWU" firstAttribute="leading" secondItem="JM4-xN-bgp" secondAttribute="leading" id="kQx-xb-czQ"/>
216 + </constraints>
217 + </view>
218 + <connections>
219 + <outlet property="couponImageHeight" destination="zUx-Yd-in7" id="NWw-aF-GEM"/>
220 + <outlet property="mainView" destination="Jqu-cp-CWU" id="cLA-eX-Av4"/>
221 + <outlet property="redeemButton" destination="FCd-hv-dHg" id="blu-64-lZt"/>
222 + <outlet property="scrollContentView" destination="uTN-Qr-wBi" id="atF-nT-J6Y"/>
223 + <outlet property="termsLabel" destination="9Wc-e3-KgW" id="2Z0-nm-mAy"/>
224 + </connections>
225 + </viewController>
226 + <placeholder placeholderIdentifier="IBFirstResponder" id="zFf-Es-4zg" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
227 + </objects>
228 + <point key="canvasLocation" x="2341" y="129"/>
229 + </scene>
100 </scenes> 230 </scenes>
101 <resources> 231 <resources>
232 + <image name="coupons_scrollview" width="214" height="463.5"/>
102 <systemColor name="systemBackgroundColor"> 233 <systemColor name="systemBackgroundColor">
103 <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> 234 <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
104 </systemColor> 235 </systemColor>
......