Manos Chorianopoulos

add toggleBarcode btn at CouponBarcodeVC

...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
7 <key>Pods-SwiftWarplyFramework.xcscheme_^#shared#^_</key> 7 <key>Pods-SwiftWarplyFramework.xcscheme_^#shared#^_</key>
8 <dict> 8 <dict>
9 <key>orderHint</key> 9 <key>orderHint</key>
10 - <integer>0</integer> 10 + <integer>1</integer>
11 </dict> 11 </dict>
12 </dict> 12 </dict>
13 </dict> 13 </dict>
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
7 <key>SwiftWarplyFramework.xcscheme_^#shared#^_</key> 7 <key>SwiftWarplyFramework.xcscheme_^#shared#^_</key>
8 <dict> 8 <dict>
9 <key>orderHint</key> 9 <key>orderHint</key>
10 - <integer>1</integer> 10 + <integer>0</integer>
11 </dict> 11 </dict>
12 </dict> 12 </dict>
13 </dict> 13 </dict>
......
...@@ -23,15 +23,25 @@ import AVFoundation ...@@ -23,15 +23,25 @@ import AVFoundation
23 @IBOutlet weak var barcodeImage: UIImageView! 23 @IBOutlet weak var barcodeImage: UIImageView!
24 @IBOutlet weak var barcodeImageHeight: NSLayoutConstraint! 24 @IBOutlet weak var barcodeImageHeight: NSLayoutConstraint!
25 @IBOutlet weak var barcodeLabel: UILabel! 25 @IBOutlet weak var barcodeLabel: UILabel!
26 + @IBOutlet weak var barcodeLabelHeight: NSLayoutConstraint!
27 + @IBOutlet weak var showBarcodeButton: UIButton!
26 @IBOutlet weak var expirationLabel: UILabel! 28 @IBOutlet weak var expirationLabel: UILabel!
27 @IBOutlet weak var redeemButton: UIButton! 29 @IBOutlet weak var redeemButton: UIButton!
28 @IBOutlet weak var termsButton: UIButton! 30 @IBOutlet weak var termsButton: UIButton!
29 @IBOutlet weak var termsTextView: UITextView! 31 @IBOutlet weak var termsTextView: UITextView!
30 @IBOutlet weak var termsTextViewHeight: NSLayoutConstraint! 32 @IBOutlet weak var termsTextViewHeight: NSLayoutConstraint!
33 + @IBOutlet weak var borderViewHeight: NSLayoutConstraint!
34 + @IBOutlet weak var borderView2Height: NSLayoutConstraint!
35 + @IBOutlet weak var border1TopSpace: NSLayoutConstraint!
36 + @IBOutlet weak var barcodeImageTopSpace: NSLayoutConstraint!
37 + @IBOutlet weak var barcodeLabelTopSpace: NSLayoutConstraint!
38 + @IBOutlet weak var border2TopSpace: NSLayoutConstraint!
39 + @IBOutlet weak var mapButton: UIButton!
31 40
32 let uiscreen: CGRect = UIScreen.main.bounds 41 let uiscreen: CGRect = UIScreen.main.bounds
33 42
34 var termsVisible: Bool = false; 43 var termsVisible: Bool = false;
44 + var barcodeVisible: Bool = false;
35 45
36 public var coupon: swiftApi.CouponItemModel? 46 public var coupon: swiftApi.CouponItemModel?
37 47
...@@ -84,6 +94,12 @@ import AVFoundation ...@@ -84,6 +94,12 @@ import AVFoundation
84 redeemButton.backgroundColor = UIColor(red: 0.47, green: 0.75, blue: 0.08, alpha: 1.00) 94 redeemButton.backgroundColor = UIColor(red: 0.47, green: 0.75, blue: 0.08, alpha: 1.00)
85 redeemButton.layer.cornerRadius = 12.0 95 redeemButton.layer.cornerRadius = 12.0
86 96
97 + mapButton.titleLabel?.font = UIFont.systemFont(ofSize: 15, weight: .semibold)
98 + mapButton.setTitle("Δες τα καταστήματα", for: .normal)
99 + mapButton.setTitleColor(UIColor(red: 0.31, green: 0.62, blue: 0.18, alpha: 1.00), for: .normal)
100 + mapButton.backgroundColor = UIColor(red: 0.90, green: 0.90, blue: 0.90, alpha: 1.00)
101 + mapButton.layer.cornerRadius = 12.0
102 +
87 termsButton.titleLabel?.font = .systemFont(ofSize: 15.0, weight: .medium) 103 termsButton.titleLabel?.font = .systemFont(ofSize: 15.0, weight: .medium)
88 // termsButton.imageView?.layer.transform = CATransform3DMakeScale(1.5, 1.5, 1.5) 104 // termsButton.imageView?.layer.transform = CATransform3DMakeScale(1.5, 1.5, 1.5)
89 termsButton.setTitle("Όροι χρήσης", for: .normal) 105 termsButton.setTitle("Όροι χρήσης", for: .normal)
...@@ -102,6 +118,7 @@ import AVFoundation ...@@ -102,6 +118,7 @@ import AVFoundation
102 termsTextView.isScrollEnabled = false 118 termsTextView.isScrollEnabled = false
103 119
104 toggleTerms() 120 toggleTerms()
121 + toggleBarcode()
105 122
106 // Logs 123 // Logs
107 print("Coupon: " + (coupon?.coupon ?? "")) 124 print("Coupon: " + (coupon?.coupon ?? ""))
...@@ -127,6 +144,48 @@ import AVFoundation ...@@ -127,6 +144,48 @@ import AVFoundation
127 } 144 }
128 } 145 }
129 146
147 + func toggleBarcode() {
148 + if (barcodeVisible) {
149 + barcodeImage.isHidden = false
150 + if (barcodeImage.image == nil) {
151 + barcodeImageHeight.constant = CGFloat(0)
152 + } else {
153 + barcodeImageHeight.constant = self.uiscreen.height * 0.1
154 + }
155 + barcodeLabel.isHidden = false
156 + let targetSize = CGSize(width: barcodeLabel.frame.width, height: CGFloat(MAXFLOAT))
157 + barcodeLabelHeight.constant = barcodeLabel.sizeThatFits(targetSize).height
158 +
159 + borderViewHeight.constant = CGFloat(1)
160 + borderView2Height.constant = CGFloat(1)
161 +
162 + border1TopSpace.constant = CGFloat(20) // 20
163 + barcodeImageTopSpace.constant = CGFloat(10) // 10
164 + barcodeLabelTopSpace.constant = CGFloat(10) // 10
165 + border2TopSpace.constant = CGFloat(15) // 15
166 +
167 + showBarcodeButton.setTitle("Απόκρυψη barcode", for: .normal)
168 + showBarcodeButton.setImage(UIImage(named: "ic_up_dark.png", in: Bundle(for: MyEmptyClass.self), compatibleWith: nil), for: .normal)
169 +
170 + } else {
171 + barcodeImage.isHidden = true
172 + barcodeImageHeight.constant = CGFloat(0)
173 + barcodeLabel.isHidden = true
174 + barcodeLabelHeight.constant = CGFloat(0)
175 +
176 + borderViewHeight.constant = CGFloat(0)
177 + borderView2Height.constant = CGFloat(0)
178 +
179 + border1TopSpace.constant = CGFloat(0) // 20
180 + barcodeImageTopSpace.constant = CGFloat(0) // 10
181 + barcodeLabelTopSpace.constant = CGFloat(0) // 10
182 + border2TopSpace.constant = CGFloat(0) // 15
183 +
184 + showBarcodeButton.setTitle("Εμφάνιση barcode", for: .normal)
185 + showBarcodeButton.setImage(UIImage(named: "ic_down_dark.png", in: Bundle(for: MyEmptyClass.self), compatibleWith: nil), for: .normal)
186 + }
187 + }
188 +
130 func constructBarcode() -> String? { 189 func constructBarcode() -> String? {
131 // EAN 13 barcode construction 190 // EAN 13 barcode construction
132 let couponData = coupon?.couponset_data 191 let couponData = coupon?.couponset_data
...@@ -170,8 +229,17 @@ import AVFoundation ...@@ -170,8 +229,17 @@ import AVFoundation
170 self.navigationController?.pushViewController(vc, animated: true) 229 self.navigationController?.pushViewController(vc, animated: true)
171 } 230 }
172 231
232 + @IBAction func showBarcodeAction(_ sender: Any) {
233 + barcodeVisible = !barcodeVisible
234 + toggleBarcode()
235 + }
236 +
173 @IBAction func termsButtonAction(_ sender: Any) { 237 @IBAction func termsButtonAction(_ sender: Any) {
174 termsVisible = !termsVisible 238 termsVisible = !termsVisible
175 toggleTerms() 239 toggleTerms()
176 } 240 }
241 +
242 + @IBAction func mapButtonAction(_ sender: Any) {
243 + // TODO: open MapVC
244 + }
177 } 245 }
......
...@@ -1317,6 +1317,9 @@ ...@@ -1317,6 +1317,9 @@
1317 </imageView> 1317 </imageView>
1318 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="123456789101112" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EKv-Mx-6Yv"> 1318 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="123456789101112" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EKv-Mx-6Yv">
1319 <rect key="frame" x="20" y="621.5" width="374" height="26.5"/> 1319 <rect key="frame" x="20" y="621.5" width="374" height="26.5"/>
1320 + <constraints>
1321 + <constraint firstAttribute="height" constant="26.5" id="LfJ-bC-nLk"/>
1322 + </constraints>
1320 <fontDescription key="fontDescription" type="system" pointSize="22"/> 1323 <fontDescription key="fontDescription" type="system" pointSize="22"/>
1321 <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> 1324 <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
1322 <nil key="highlightedColor"/> 1325 <nil key="highlightedColor"/>
...@@ -1328,14 +1331,29 @@ ...@@ -1328,14 +1331,29 @@
1328 <constraint firstAttribute="height" constant="1" id="DVl-3B-zqo"/> 1331 <constraint firstAttribute="height" constant="1" id="DVl-3B-zqo"/>
1329 </constraints> 1332 </constraints>
1330 </view> 1333 </view>
1334 + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Zw5-Wj-WD5">
1335 + <rect key="frame" x="103.5" y="674" width="207" height="50"/>
1336 + <constraints>
1337 + <constraint firstAttribute="height" constant="50" id="ZSP-NX-0a7"/>
1338 + </constraints>
1339 + <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="15"/>
1340 + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="5" maxY="0.0"/>
1341 + <state key="normal" title="Εμφάνιση barcode" image="ic_down_dark">
1342 + <color key="titleColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
1343 + <preferredSymbolConfiguration key="preferredSymbolConfiguration"/>
1344 + </state>
1345 + <connections>
1346 + <action selector="showBarcodeAction:" destination="CDt-eI-msA" eventType="touchUpInside" id="j4o-tX-kDb"/>
1347 + </connections>
1348 + </button>
1331 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Το κουπόνι ισχύει έως 05/12/2022" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="UhC-Lj-tfN"> 1349 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Το κουπόνι ισχύει έως 05/12/2022" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="UhC-Lj-tfN">
1332 - <rect key="frame" x="20" y="699" width="374" height="17"/> 1350 + <rect key="frame" x="20" y="759" width="374" height="17"/>
1333 <fontDescription key="fontDescription" type="system" pointSize="14"/> 1351 <fontDescription key="fontDescription" type="system" pointSize="14"/>
1334 <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/> 1352 <color key="textColor" red="0.25490196079999999" green="0.33333333329999998" blue="0.3921568627" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
1335 <nil key="highlightedColor"/> 1353 <nil key="highlightedColor"/>
1336 </label> 1354 </label>
1337 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="8cR-Rc-YMJ"> 1355 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="8cR-Rc-YMJ">
1338 - <rect key="frame" x="83" y="751" width="248" height="40"/> 1356 + <rect key="frame" x="83" y="811" width="248" height="40"/>
1339 <constraints> 1357 <constraints>
1340 <constraint firstAttribute="height" constant="40" id="ccg-NP-FIH"/> 1358 <constraint firstAttribute="height" constant="40" id="ccg-NP-FIH"/>
1341 </constraints> 1359 </constraints>
...@@ -1348,8 +1366,22 @@ ...@@ -1348,8 +1366,22 @@
1348 <action selector="redeemButtomAction:" destination="CDt-eI-msA" eventType="touchUpInside" id="0pY-lD-17H"/> 1366 <action selector="redeemButtomAction:" destination="CDt-eI-msA" eventType="touchUpInside" id="0pY-lD-17H"/>
1349 </connections> 1367 </connections>
1350 </button> 1368 </button>
1369 + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="W5f-1T-iW6">
1370 + <rect key="frame" x="83" y="871" width="248" height="40"/>
1371 + <constraints>
1372 + <constraint firstAttribute="height" constant="40" id="3pq-y5-f66"/>
1373 + </constraints>
1374 + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/>
1375 + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
1376 + <state key="normal" title="Δες τα καταστήματα">
1377 + <color key="titleColor" red="0.31372549019607843" green="0.61960784313725492" blue="0.18431372549019609" alpha="1" colorSpace="calibratedRGB"/>
1378 + </state>
1379 + <connections>
1380 + <action selector="mapButtonAction:" destination="CDt-eI-msA" eventType="touchUpInside" id="1Th-sc-HY1"/>
1381 + </connections>
1382 + </button>
1351 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="8UD-WL-JB7"> 1383 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="8UD-WL-JB7">
1352 - <rect key="frame" x="103.5" y="801" width="207" height="50"/> 1384 + <rect key="frame" x="103.5" y="921" width="207" height="50"/>
1353 <constraints> 1385 <constraints>
1354 <constraint firstAttribute="height" constant="50" id="xdq-YS-AL4"/> 1386 <constraint firstAttribute="height" constant="50" id="xdq-YS-AL4"/>
1355 </constraints> 1387 </constraints>
...@@ -1364,7 +1396,7 @@ ...@@ -1364,7 +1396,7 @@
1364 </connections> 1396 </connections>
1365 </button> 1397 </button>
1366 <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" editable="NO" textAlignment="center" selectable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xjX-HZ-MpD"> 1398 <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" editable="NO" textAlignment="center" selectable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xjX-HZ-MpD">
1367 - <rect key="frame" x="20" y="861" width="374" height="0.0"/> 1399 + <rect key="frame" x="20" y="981" width="374" height="0.0"/>
1368 <color key="backgroundColor" systemColor="systemBackgroundColor"/> 1400 <color key="backgroundColor" systemColor="systemBackgroundColor"/>
1369 <constraints> 1401 <constraints>
1370 <constraint firstAttribute="height" id="3GU-tg-S3t"/> 1402 <constraint firstAttribute="height" id="3GU-tg-S3t"/>
...@@ -1378,22 +1410,28 @@ ...@@ -1378,22 +1410,28 @@
1378 <constraints> 1410 <constraints>
1379 <constraint firstItem="jrM-7n-fSw" firstAttribute="leading" secondItem="1ec-eH-fkX" secondAttribute="leading" constant="20" id="0Dc-gr-Zfa"/> 1411 <constraint firstItem="jrM-7n-fSw" firstAttribute="leading" secondItem="1ec-eH-fkX" secondAttribute="leading" constant="20" id="0Dc-gr-Zfa"/>
1380 <constraint firstItem="huh-zh-82C" firstAttribute="leading" secondItem="1ec-eH-fkX" secondAttribute="leading" constant="30" id="1bc-Mr-krB"/> 1412 <constraint firstItem="huh-zh-82C" firstAttribute="leading" secondItem="1ec-eH-fkX" secondAttribute="leading" constant="30" id="1bc-Mr-krB"/>
1413 + <constraint firstItem="8UD-WL-JB7" firstAttribute="top" secondItem="W5f-1T-iW6" secondAttribute="bottom" constant="10" id="2qi-nv-Q66"/>
1381 <constraint firstAttribute="trailing" secondItem="Xz4-EE-EzJ" secondAttribute="trailing" constant="20" id="5Sx-lW-x5H"/> 1414 <constraint firstAttribute="trailing" secondItem="Xz4-EE-EzJ" secondAttribute="trailing" constant="20" id="5Sx-lW-x5H"/>
1415 + <constraint firstItem="Zw5-Wj-WD5" firstAttribute="width" secondItem="1ec-eH-fkX" secondAttribute="width" multiplier="0.5" id="5nW-K9-uVa"/>
1416 + <constraint firstItem="Zw5-Wj-WD5" firstAttribute="top" secondItem="6rV-2m-QMZ" secondAttribute="bottom" constant="10" id="7VE-aB-ZD3"/>
1382 <constraint firstItem="8cR-Rc-YMJ" firstAttribute="centerX" secondItem="1ec-eH-fkX" secondAttribute="centerX" id="8hP-dm-rWP"/> 1417 <constraint firstItem="8cR-Rc-YMJ" firstAttribute="centerX" secondItem="1ec-eH-fkX" secondAttribute="centerX" id="8hP-dm-rWP"/>
1383 <constraint firstItem="8cR-Rc-YMJ" firstAttribute="width" secondItem="1ec-eH-fkX" secondAttribute="width" multiplier="0.6" id="8kM-Og-K54"/> 1418 <constraint firstItem="8cR-Rc-YMJ" firstAttribute="width" secondItem="1ec-eH-fkX" secondAttribute="width" multiplier="0.6" id="8kM-Og-K54"/>
1384 <constraint firstItem="8UD-WL-JB7" firstAttribute="width" secondItem="1ec-eH-fkX" secondAttribute="width" multiplier="0.5" id="9Gy-bi-NXO"/> 1419 <constraint firstItem="8UD-WL-JB7" firstAttribute="width" secondItem="1ec-eH-fkX" secondAttribute="width" multiplier="0.5" id="9Gy-bi-NXO"/>
1385 <constraint firstItem="mri-Wl-spg" firstAttribute="top" secondItem="Xz4-EE-EzJ" secondAttribute="bottom" constant="25" id="9W8-fX-IzR"/> 1420 <constraint firstItem="mri-Wl-spg" firstAttribute="top" secondItem="Xz4-EE-EzJ" secondAttribute="bottom" constant="25" id="9W8-fX-IzR"/>
1386 <constraint firstItem="xjX-HZ-MpD" firstAttribute="leading" secondItem="1ec-eH-fkX" secondAttribute="leading" constant="20" id="AIW-Kf-tkQ"/> 1421 <constraint firstItem="xjX-HZ-MpD" firstAttribute="leading" secondItem="1ec-eH-fkX" secondAttribute="leading" constant="20" id="AIW-Kf-tkQ"/>
1422 + <constraint firstItem="Zw5-Wj-WD5" firstAttribute="centerX" secondItem="1ec-eH-fkX" secondAttribute="centerX" id="BgT-3L-aZo"/>
1387 <constraint firstItem="jrM-7n-fSw" firstAttribute="top" secondItem="Zdf-1r-FdJ" secondAttribute="bottom" constant="20" id="G5W-a3-pag"/> 1423 <constraint firstItem="jrM-7n-fSw" firstAttribute="top" secondItem="Zdf-1r-FdJ" secondAttribute="bottom" constant="20" id="G5W-a3-pag"/>
1388 <constraint firstItem="huh-zh-82C" firstAttribute="top" secondItem="jrM-7n-fSw" secondAttribute="bottom" constant="10" id="GQF-H5-SZp"/> 1424 <constraint firstItem="huh-zh-82C" firstAttribute="top" secondItem="jrM-7n-fSw" secondAttribute="bottom" constant="10" id="GQF-H5-SZp"/>
1389 <constraint firstItem="iiM-5P-m5s" firstAttribute="top" secondItem="1ec-eH-fkX" secondAttribute="top" id="H9I-TB-xig"/> 1425 <constraint firstItem="iiM-5P-m5s" firstAttribute="top" secondItem="1ec-eH-fkX" secondAttribute="top" id="H9I-TB-xig"/>
1390 <constraint firstItem="8cR-Rc-YMJ" firstAttribute="top" secondItem="UhC-Lj-tfN" secondAttribute="bottom" constant="35" id="I87-km-KEb"/> 1426 <constraint firstItem="8cR-Rc-YMJ" firstAttribute="top" secondItem="UhC-Lj-tfN" secondAttribute="bottom" constant="35" id="I87-km-KEb"/>
1391 <constraint firstItem="Zdf-1r-FdJ" firstAttribute="top" secondItem="Sg1-QU-FY1" secondAttribute="bottom" constant="10" id="KZi-Jl-Yyz"/> 1427 <constraint firstItem="Zdf-1r-FdJ" firstAttribute="top" secondItem="Sg1-QU-FY1" secondAttribute="bottom" constant="10" id="KZi-Jl-Yyz"/>
1428 + <constraint firstItem="W5f-1T-iW6" firstAttribute="width" secondItem="1ec-eH-fkX" secondAttribute="width" multiplier="0.6" id="LFp-LS-XsA"/>
1392 <constraint firstItem="UhC-Lj-tfN" firstAttribute="leading" secondItem="1ec-eH-fkX" secondAttribute="leading" constant="20" id="MSg-iF-tt9"/> 1429 <constraint firstItem="UhC-Lj-tfN" firstAttribute="leading" secondItem="1ec-eH-fkX" secondAttribute="leading" constant="20" id="MSg-iF-tt9"/>
1393 <constraint firstAttribute="trailing" secondItem="6rV-2m-QMZ" secondAttribute="trailing" constant="20" id="NGe-PV-pQl"/> 1430 <constraint firstAttribute="trailing" secondItem="6rV-2m-QMZ" secondAttribute="trailing" constant="20" id="NGe-PV-pQl"/>
1394 <constraint firstAttribute="trailing" secondItem="mri-Wl-spg" secondAttribute="trailing" constant="20" id="NmE-Pu-v1S"/> 1431 <constraint firstAttribute="trailing" secondItem="mri-Wl-spg" secondAttribute="trailing" constant="20" id="NmE-Pu-v1S"/>
1395 <constraint firstAttribute="trailing" secondItem="EKv-Mx-6Yv" secondAttribute="trailing" constant="20" id="OeB-T7-87x"/> 1432 <constraint firstAttribute="trailing" secondItem="EKv-Mx-6Yv" secondAttribute="trailing" constant="20" id="OeB-T7-87x"/>
1396 - <constraint firstItem="8UD-WL-JB7" firstAttribute="top" secondItem="8cR-Rc-YMJ" secondAttribute="bottom" constant="10" id="Rbe-XQ-CIj"/> 1433 + <constraint firstItem="W5f-1T-iW6" firstAttribute="centerX" secondItem="1ec-eH-fkX" secondAttribute="centerX" id="Pug-Ej-C69"/>
1434 + <constraint firstItem="W5f-1T-iW6" firstAttribute="top" secondItem="8cR-Rc-YMJ" secondAttribute="bottom" constant="20" id="Rbe-XQ-CIj"/>
1397 <constraint firstAttribute="trailing" secondItem="jrM-7n-fSw" secondAttribute="trailing" constant="20" id="ReY-xR-F8V"/> 1435 <constraint firstAttribute="trailing" secondItem="jrM-7n-fSw" secondAttribute="trailing" constant="20" id="ReY-xR-F8V"/>
1398 <constraint firstItem="Xz4-EE-EzJ" firstAttribute="top" secondItem="iiM-5P-m5s" secondAttribute="bottom" constant="30" id="Ryr-v8-THU"/> 1436 <constraint firstItem="Xz4-EE-EzJ" firstAttribute="top" secondItem="iiM-5P-m5s" secondAttribute="bottom" constant="30" id="Ryr-v8-THU"/>
1399 <constraint firstItem="xjX-HZ-MpD" firstAttribute="top" secondItem="8UD-WL-JB7" secondAttribute="bottom" constant="10" id="XFI-ij-KkC"/> 1437 <constraint firstItem="xjX-HZ-MpD" firstAttribute="top" secondItem="8UD-WL-JB7" secondAttribute="bottom" constant="10" id="XFI-ij-KkC"/>
...@@ -1413,7 +1451,7 @@ ...@@ -1413,7 +1451,7 @@
1413 <constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="xjX-HZ-MpD" secondAttribute="bottom" constant="30" id="kLr-ZV-vCo"/> 1451 <constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="xjX-HZ-MpD" secondAttribute="bottom" constant="30" id="kLr-ZV-vCo"/>
1414 <constraint firstAttribute="trailing" secondItem="UhC-Lj-tfN" secondAttribute="trailing" constant="20" id="lM1-ep-Zec"/> 1452 <constraint firstAttribute="trailing" secondItem="UhC-Lj-tfN" secondAttribute="trailing" constant="20" id="lM1-ep-Zec"/>
1415 <constraint firstItem="Xz4-EE-EzJ" firstAttribute="leading" secondItem="1ec-eH-fkX" secondAttribute="leading" constant="20" id="lMf-pF-Bp6"/> 1453 <constraint firstItem="Xz4-EE-EzJ" firstAttribute="leading" secondItem="1ec-eH-fkX" secondAttribute="leading" constant="20" id="lMf-pF-Bp6"/>
1416 - <constraint firstItem="UhC-Lj-tfN" firstAttribute="top" secondItem="6rV-2m-QMZ" secondAttribute="bottom" constant="35" id="ora-fw-TKe"/> 1454 + <constraint firstItem="UhC-Lj-tfN" firstAttribute="top" secondItem="Zw5-Wj-WD5" secondAttribute="bottom" constant="35" id="ora-fw-TKe"/>
1417 <constraint firstAttribute="trailing" secondItem="iiM-5P-m5s" secondAttribute="trailing" id="qWA-17-dEY"/> 1455 <constraint firstAttribute="trailing" secondItem="iiM-5P-m5s" secondAttribute="trailing" id="qWA-17-dEY"/>
1418 <constraint firstAttribute="trailing" secondItem="xjX-HZ-MpD" secondAttribute="trailing" constant="20" id="rIc-bw-vfp"/> 1456 <constraint firstAttribute="trailing" secondItem="xjX-HZ-MpD" secondAttribute="trailing" constant="20" id="rIc-bw-vfp"/>
1419 <constraint firstAttribute="trailing" secondItem="huh-zh-82C" secondAttribute="trailing" constant="30" id="ySg-6E-isO"/> 1457 <constraint firstAttribute="trailing" secondItem="huh-zh-82C" secondAttribute="trailing" constant="30" id="ySg-6E-isO"/>
...@@ -1458,17 +1496,26 @@ ...@@ -1458,17 +1496,26 @@
1458 <outlet property="backgroundImage" destination="B6L-Zs-Vnz" id="0fs-sM-Khn"/> 1496 <outlet property="backgroundImage" destination="B6L-Zs-Vnz" id="0fs-sM-Khn"/>
1459 <outlet property="barcodeImage" destination="huh-zh-82C" id="ZLK-Dj-ltk"/> 1497 <outlet property="barcodeImage" destination="huh-zh-82C" id="ZLK-Dj-ltk"/>
1460 <outlet property="barcodeImageHeight" destination="LJq-uV-eb8" id="YSo-v7-Gtq"/> 1498 <outlet property="barcodeImageHeight" destination="LJq-uV-eb8" id="YSo-v7-Gtq"/>
1499 + <outlet property="barcodeImageTopSpace" destination="GQF-H5-SZp" id="pLk-Jw-P29"/>
1461 <outlet property="barcodeLabel" destination="EKv-Mx-6Yv" id="myd-id-Q29"/> 1500 <outlet property="barcodeLabel" destination="EKv-Mx-6Yv" id="myd-id-Q29"/>
1501 + <outlet property="barcodeLabelHeight" destination="LfJ-bC-nLk" id="cPV-72-LRC"/>
1502 + <outlet property="barcodeLabelTopSpace" destination="hZO-Qg-tda" id="X5g-M7-vwh"/>
1503 + <outlet property="border1TopSpace" destination="G5W-a3-pag" id="bKg-mJ-AWF"/>
1504 + <outlet property="border2TopSpace" destination="hL4-rX-9aa" id="87h-tF-CnT"/>
1505 + <outlet property="borderView2Height" destination="DVl-3B-zqo" id="USP-Iq-ZAd"/>
1506 + <outlet property="borderViewHeight" destination="eF3-7T-hMu" id="Wt2-MV-eTg"/>
1462 <outlet property="couponImage" destination="iiM-5P-m5s" id="oKZ-Up-sI3"/> 1507 <outlet property="couponImage" destination="iiM-5P-m5s" id="oKZ-Up-sI3"/>
1463 <outlet property="couponImageHeight" destination="kL0-u7-VI9" id="QJ9-gs-XUh"/> 1508 <outlet property="couponImageHeight" destination="kL0-u7-VI9" id="QJ9-gs-XUh"/>
1464 <outlet property="couponNumberLabel" destination="BJS-kk-CBZ" id="Sdz-3a-Jvq"/> 1509 <outlet property="couponNumberLabel" destination="BJS-kk-CBZ" id="Sdz-3a-Jvq"/>
1465 <outlet property="couponView" destination="Zdf-1r-FdJ" id="OA8-73-e0p"/> 1510 <outlet property="couponView" destination="Zdf-1r-FdJ" id="OA8-73-e0p"/>
1466 <outlet property="discriptionLabel" destination="mri-Wl-spg" id="iuf-XL-NWH"/> 1511 <outlet property="discriptionLabel" destination="mri-Wl-spg" id="iuf-XL-NWH"/>
1467 <outlet property="expirationLabel" destination="UhC-Lj-tfN" id="9Hj-I1-nJa"/> 1512 <outlet property="expirationLabel" destination="UhC-Lj-tfN" id="9Hj-I1-nJa"/>
1513 + <outlet property="mapButton" destination="W5f-1T-iW6" id="2IL-QE-TdM"/>
1468 <outlet property="nameLabel" destination="Xz4-EE-EzJ" id="zTY-n5-36h"/> 1514 <outlet property="nameLabel" destination="Xz4-EE-EzJ" id="zTY-n5-36h"/>
1469 <outlet property="redeemButton" destination="8cR-Rc-YMJ" id="atB-0m-8ff"/> 1515 <outlet property="redeemButton" destination="8cR-Rc-YMJ" id="atB-0m-8ff"/>
1470 <outlet property="scrollContentView" destination="1ec-eH-fkX" id="IZE-ie-TUA"/> 1516 <outlet property="scrollContentView" destination="1ec-eH-fkX" id="IZE-ie-TUA"/>
1471 <outlet property="scrollView" destination="D1m-2B-ehg" id="dwz-JJ-dht"/> 1517 <outlet property="scrollView" destination="D1m-2B-ehg" id="dwz-JJ-dht"/>
1518 + <outlet property="showBarcodeButton" destination="Zw5-Wj-WD5" id="WP9-RY-QDg"/>
1472 <outlet property="termsButton" destination="8UD-WL-JB7" id="azl-dZ-6ey"/> 1519 <outlet property="termsButton" destination="8UD-WL-JB7" id="azl-dZ-6ey"/>
1473 <outlet property="termsTextView" destination="xjX-HZ-MpD" id="8ZQ-e0-1Ib"/> 1520 <outlet property="termsTextView" destination="xjX-HZ-MpD" id="8ZQ-e0-1Ib"/>
1474 <outlet property="termsTextViewHeight" destination="3GU-tg-S3t" id="H3e-IQ-FGo"/> 1521 <outlet property="termsTextViewHeight" destination="3GU-tg-S3t" id="H3e-IQ-FGo"/>
......