Showing
5 changed files
with
49 additions
and
426 deletions
No preview for this file type
| ... | @@ -87,7 +87,8 @@ public class CouponSetItemModel { | ... | @@ -87,7 +87,8 @@ public class CouponSetItemModel { |
| 87 | self.admin_name = dictionary["admin_name"] as? String? ?? "" | 87 | self.admin_name = dictionary["admin_name"] as? String? ?? "" |
| 88 | self.name = dictionary["name"] as? String? ?? "" | 88 | self.name = dictionary["name"] as? String? ?? "" |
| 89 | self.img_preview = dictionary["img_preview"] as? String? ?? "" | 89 | self.img_preview = dictionary["img_preview"] as? String? ?? "" |
| 90 | - self.description = dictionary["description"] as? String? ?? "" | 90 | + let htmlDescription = dictionary["description"] as? String? ?? "" |
| 91 | + self.description = htmlDescription?.htmlToString ?? "" | ||
| 91 | self.short_description = dictionary["short_description"] as? String? ?? "" | 92 | self.short_description = dictionary["short_description"] as? String? ?? "" |
| 92 | self.discount = dictionary["discount"] as? String? ?? "" | 93 | self.discount = dictionary["discount"] as? String? ?? "" |
| 93 | self.sorting = dictionary["sorting"] as? Int? ?? 0 | 94 | self.sorting = dictionary["sorting"] as? Int? ?? 0 |
| ... | @@ -95,7 +96,8 @@ public class CouponSetItemModel { | ... | @@ -95,7 +96,8 @@ public class CouponSetItemModel { |
| 95 | self.inner_text = htmlText?.htmlToString ?? "" | 96 | self.inner_text = htmlText?.htmlToString ?? "" |
| 96 | self.buyable = dictionary["buyable"] as? Bool? ?? false | 97 | self.buyable = dictionary["buyable"] as? Bool? ?? false |
| 97 | self.visible = dictionary["visible"] as? Bool? ?? false | 98 | self.visible = dictionary["visible"] as? Bool? ?? false |
| 98 | - self.terms = dictionary["terms"] as? String? ?? "" | 99 | + let htmlTerms = dictionary["terms"] as? String? ?? "" |
| 100 | + self.terms = htmlTerms?.htmlToString ?? "" | ||
| 99 | self.merchant_uuid = dictionary["merchant_uuid"] as? String? ?? "" | 101 | self.merchant_uuid = dictionary["merchant_uuid"] as? String? ?? "" |
| 100 | self.discount_type = dictionary["discount_type"] as? String? ?? "" | 102 | self.discount_type = dictionary["discount_type"] as? String? ?? "" |
| 101 | 103 | ... | ... |
| ... | @@ -35,40 +35,6 @@ import UIKit | ... | @@ -35,40 +35,6 @@ import UIKit |
| 35 | @IBOutlet weak var expirationLabel: UILabel! | 35 | @IBOutlet weak var expirationLabel: UILabel! |
| 36 | @IBOutlet weak var detailsLabel: UILabel! | 36 | @IBOutlet weak var detailsLabel: UILabel! |
| 37 | 37 | ||
| 38 | - // MARK: - IBOutlets for Coupon Code Section | ||
| 39 | - @IBOutlet weak var couponCodeContainerView: UIView! | ||
| 40 | - @IBOutlet weak var couponCodeHeaderView: UIView! | ||
| 41 | - @IBOutlet weak var couponCodeContentView: UIView! | ||
| 42 | - | ||
| 43 | - // Header elements | ||
| 44 | - @IBOutlet weak var couponCodeTitleLabel: UILabel! | ||
| 45 | - @IBOutlet weak var couponCodeArrowImage: UIImageView! | ||
| 46 | - @IBOutlet weak var couponCodeButton: UIButton! | ||
| 47 | - | ||
| 48 | - // Content elements (initially hidden) | ||
| 49 | - @IBOutlet weak var couponCodeValueLabel: UILabel! | ||
| 50 | - @IBOutlet weak var copyButtonImage: UIImageView! | ||
| 51 | - @IBOutlet weak var copyButton: UIButton! | ||
| 52 | - | ||
| 53 | - // Constraints for animation | ||
| 54 | - @IBOutlet weak var couponCodeContentHeightConstraint: NSLayoutConstraint! | ||
| 55 | - | ||
| 56 | - // MARK: - IBOutlets for Coupon Code Section | ||
| 57 | - @IBOutlet weak var couponQRContainerView: UIView! | ||
| 58 | - @IBOutlet weak var couponQRHeaderView: UIView! | ||
| 59 | - @IBOutlet weak var couponQRContentView: UIView! | ||
| 60 | - | ||
| 61 | - // Header elements | ||
| 62 | - @IBOutlet weak var couponQRTitleLabel: UILabel! | ||
| 63 | - @IBOutlet weak var couponQRArrowImage: UIImageView! | ||
| 64 | - @IBOutlet weak var couponQRButton: UIButton! | ||
| 65 | - | ||
| 66 | - // Content elements (initially hidden) | ||
| 67 | - @IBOutlet weak var couponQRImage: UIImageView! | ||
| 68 | - | ||
| 69 | - // Constraints for animation | ||
| 70 | - @IBOutlet weak var couponQRContentHeightConstraint: NSLayoutConstraint! | ||
| 71 | - | ||
| 72 | @IBOutlet weak var termsButtonView: UIView! | 38 | @IBOutlet weak var termsButtonView: UIView! |
| 73 | @IBOutlet weak var termsButtonTitleLabel: UILabel! | 39 | @IBOutlet weak var termsButtonTitleLabel: UILabel! |
| 74 | @IBOutlet weak var termsButtonArrowImage: UIImageView! | 40 | @IBOutlet weak var termsButtonArrowImage: UIImageView! |
| ... | @@ -86,6 +52,24 @@ import UIKit | ... | @@ -86,6 +52,24 @@ import UIKit |
| 86 | private var isCouponQRExpanded = false | 52 | private var isCouponQRExpanded = false |
| 87 | private var isTermsExpanded = false | 53 | private var isTermsExpanded = false |
| 88 | 54 | ||
| 55 | + var postImageURL: String? { | ||
| 56 | + didSet { | ||
| 57 | + if let url = postImageURL { | ||
| 58 | + self.couponImage.image = UIImage() // UIImage(named: "loading") | ||
| 59 | + | ||
| 60 | + UIImage.loadImageUsingCacheWithUrlString(url) { image in | ||
| 61 | + // set the image only when we are still displaying the content for the image we finished downloading | ||
| 62 | + if url == self.postImageURL { | ||
| 63 | + self.couponImage.image = image | ||
| 64 | + } | ||
| 65 | + } | ||
| 66 | + } | ||
| 67 | + else { | ||
| 68 | + self.couponImage.image = nil | ||
| 69 | + } | ||
| 70 | + } | ||
| 71 | + } | ||
| 72 | + | ||
| 89 | public override func viewDidLoad() { | 73 | public override func viewDidLoad() { |
| 90 | super.viewDidLoad() | 74 | super.viewDidLoad() |
| 91 | 75 | ||
| ... | @@ -101,30 +85,12 @@ import UIKit | ... | @@ -101,30 +85,12 @@ import UIKit |
| 101 | 85 | ||
| 102 | infoImage.image = UIImage(named: "info", in: Bundle.frameworkResourceBundle, compatibleWith: nil) | 86 | infoImage.image = UIImage(named: "info", in: Bundle.frameworkResourceBundle, compatibleWith: nil) |
| 103 | shareImage.image = UIImage(named: "share", in: Bundle.frameworkResourceBundle, compatibleWith: nil) | 87 | shareImage.image = UIImage(named: "share", in: Bundle.frameworkResourceBundle, compatibleWith: nil) |
| 104 | - couponCodeArrowImage.image = UIImage(named: "arrow_down", in: Bundle.frameworkResourceBundle, compatibleWith: nil) | ||
| 105 | - copyButtonImage.image = UIImage(named: "copy", in: Bundle.frameworkResourceBundle, compatibleWith: nil) | ||
| 106 | - couponQRArrowImage.image = UIImage(named: "arrow_down", in: Bundle.frameworkResourceBundle, compatibleWith: nil) | ||
| 107 | - couponQRImage.image = UIImage(named: "barcode", in: Bundle.frameworkResourceBundle, compatibleWith: nil) | ||
| 108 | termsButtonArrowImage.image = UIImage(named: "arrow_down", in: Bundle.frameworkResourceBundle, compatibleWith: nil) | 88 | termsButtonArrowImage.image = UIImage(named: "arrow_down", in: Bundle.frameworkResourceBundle, compatibleWith: nil) |
| 109 | 89 | ||
| 110 | infoLabel.font = UIFont(name: "PingLCG-Regular", size: 13) | 90 | infoLabel.font = UIFont(name: "PingLCG-Regular", size: 13) |
| 111 | infoLabel.textColor = UIColor(rgb: 0x020E1C) | 91 | infoLabel.textColor = UIColor(rgb: 0x020E1C) |
| 112 | infoLabel.text = "Περισσότερα" | 92 | infoLabel.text = "Περισσότερα" |
| 113 | 93 | ||
| 114 | - couponCodeContainerView.backgroundColor = UIColor(rgb: 0xFFFFFF) | ||
| 115 | - couponCodeContainerView.layer.cornerRadius = 8.0 | ||
| 116 | - couponCodeContainerView.clipsToBounds = true | ||
| 117 | - couponCodeButton.addTarget(self, action: #selector(toggleCouponCode), for: .touchUpInside) | ||
| 118 | - couponCodeContentHeightConstraint.constant = 0 | ||
| 119 | - couponCodeContentView.isHidden = true | ||
| 120 | - | ||
| 121 | - couponQRContainerView.backgroundColor = UIColor(rgb: 0xFFFFFF) | ||
| 122 | - couponQRContainerView.layer.cornerRadius = 8.0 | ||
| 123 | - couponQRContainerView.clipsToBounds = true | ||
| 124 | - couponQRButton.addTarget(self, action: #selector(toggleCouponQR), for: .touchUpInside) | ||
| 125 | - couponQRContentHeightConstraint.constant = 0 | ||
| 126 | - couponQRContentView.isHidden = true | ||
| 127 | - | ||
| 128 | termsButtonTitleLabel.font = UIFont(name: "PingLCG-Bold", size: 16) | 94 | termsButtonTitleLabel.font = UIFont(name: "PingLCG-Bold", size: 16) |
| 129 | termsButtonTitleLabel.textColor = UIColor(rgb: 0x020E1C) | 95 | termsButtonTitleLabel.textColor = UIColor(rgb: 0x020E1C) |
| 130 | termsButtonTitleLabel.text = "Όροι Χρήσης" | 96 | termsButtonTitleLabel.text = "Όροι Χρήσης" |
| ... | @@ -154,47 +120,39 @@ import UIKit | ... | @@ -154,47 +120,39 @@ import UIKit |
| 154 | } | 120 | } |
| 155 | 121 | ||
| 156 | private func setupUI(with couponset: CouponSetItemModel) { | 122 | private func setupUI(with couponset: CouponSetItemModel) { |
| 157 | - couponImage.image = UIImage(named: couponset.bannerImage, in: Bundle.frameworkResourceBundle, compatibleWith: nil) | 123 | +// couponImage.image = UIImage(named: couponset._img_preview, in: Bundle.frameworkResourceBundle, compatibleWith: nil) |
| 158 | - favoriteImage.image = UIImage(named: couponset.isFavorite ? "favorite2_filled" : "favorite2_empty", in: Bundle.frameworkResourceBundle, compatibleWith: nil) | 124 | + self.postImageURL = couponset._img_preview |
| 125 | +// favoriteImage.image = UIImage(named: couponset.isFavorite ? "favorite2_filled" : "favorite2_empty", in: Bundle.frameworkResourceBundle, compatibleWith: nil) | ||
| 126 | + // Default to not favorite for coupon sets | ||
| 127 | + favoriteImage.image = UIImage(named: "favorite2_empty", in: Bundle.frameworkResourceBundle, compatibleWith: nil) | ||
| 159 | 128 | ||
| 160 | titleLabel.font = UIFont(name: "PingLCG-Bold", size: 24) | 129 | titleLabel.font = UIFont(name: "PingLCG-Bold", size: 24) |
| 161 | titleLabel.textColor = UIColor(rgb: 0xF2709D) | 130 | titleLabel.textColor = UIColor(rgb: 0xF2709D) |
| 162 | - titleLabel.text = couponset.title | 131 | + titleLabel.text = couponset._name |
| 163 | 132 | ||
| 164 | subtitleLabel.font = UIFont(name: "PingLCG-Regular", size: 18) | 133 | subtitleLabel.font = UIFont(name: "PingLCG-Regular", size: 18) |
| 165 | subtitleLabel.textColor = UIColor(rgb: 0x020E1C) | 134 | subtitleLabel.textColor = UIColor(rgb: 0x020E1C) |
| 166 | - subtitleLabel.text = couponset.description | 135 | + subtitleLabel.text = couponset._short_description |
| 167 | 136 | ||
| 168 | expirationLabel.font = UIFont(name: "PingLCG-Regular", size: 14) | 137 | expirationLabel.font = UIFont(name: "PingLCG-Regular", size: 14) |
| 169 | expirationLabel.textColor = UIColor(rgb: 0x020E1C) | 138 | expirationLabel.textColor = UIColor(rgb: 0x020E1C) |
| 170 | -// expirationLabel.text = ("Η προσφορά ισχύει " + couponset.expirationDate) | 139 | + expirationLabel.text = ("Η προσφορά ισχύει έως " + couponset.formattedEndDate(format: "dd-MM-yyyy")) |
| 171 | - expirationLabel.text = "Η προσφορά ισχύει έως 30-09-2025" | 140 | +// expirationLabel.text = "Η προσφορά ισχύει έως 30-09-2025" |
| 172 | 141 | ||
| 173 | setupExpandableDetails() | 142 | setupExpandableDetails() |
| 174 | 143 | ||
| 175 | - couponCodeTitleLabel.font = UIFont(name: "PingLCG-Regular", size: 16) | ||
| 176 | - couponCodeTitleLabel.textColor = UIColor(rgb: 0x000F1E) | ||
| 177 | - couponCodeTitleLabel.text = "Κωδικός Κουπονιού" | ||
| 178 | - | ||
| 179 | - couponCodeValueLabel.font = UIFont(name: "PingLCG-Bold", size: 24) | ||
| 180 | - couponCodeValueLabel.textColor = UIColor(rgb: 0x000F1E) | ||
| 181 | - couponCodeValueLabel.text = "coupons_ab" | ||
| 182 | - copyButton.addTarget(self, action: #selector(copyButtonTapped), for: .touchUpInside) | ||
| 183 | - | ||
| 184 | - couponQRTitleLabel.font = UIFont(name: "PingLCG-Regular", size: 16) | ||
| 185 | - couponQRTitleLabel.textColor = UIColor(rgb: 0x000F1E) | ||
| 186 | - couponQRTitleLabel.text = "QR Κουπονιού" | ||
| 187 | - | ||
| 188 | termsLabel.font = UIFont(name: "PingLCG-Regular", size: 16) | 144 | termsLabel.font = UIFont(name: "PingLCG-Regular", size: 16) |
| 189 | termsLabel.textColor = UIColor(rgb: 0x020E1C) | 145 | termsLabel.textColor = UIColor(rgb: 0x020E1C) |
| 190 | - termsLabel.text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sed ex euismod, feugiat justo eu, faucibus urna. Nulla sodales euismod arcu volutpat finibus. Etiam id urna at justo facilisis tempor. Morbi dignissim erat vitae magna sodales dignissim ac in mauris. Mauris tempor convallis tortor, interdum hendrerit turpis eleifend at. Praesent." | 146 | +// termsLabel.text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sed ex euismod, feugiat justo eu, faucibus urna. Nulla sodales euismod arcu volutpat finibus. Etiam id urna at justo facilisis tempor. Morbi dignissim erat vitae magna sodales dignissim ac in mauris. Mauris tempor convallis tortor, interdum hendrerit turpis eleifend at. Praesent." |
| 147 | + termsLabel.text = couponset._terms | ||
| 191 | } | 148 | } |
| 192 | 149 | ||
| 193 | private var fullDetailsText = "" | 150 | private var fullDetailsText = "" |
| 194 | private var shouldTruncaitDetails = false | 151 | private var shouldTruncaitDetails = false |
| 195 | 152 | ||
| 196 | private func setupExpandableDetails() { | 153 | private func setupExpandableDetails() { |
| 197 | - fullDetailsText = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sed ex euismod, feugiat justo eu, faucibus urna. Nulla sodales euismod arcu volutpat finibus. Etiam id urna at justo facilisis tempor. Morbi dignissim erat vitae magna sodales dignissim ac in mauris. Mauris tempor convallis tortor, interdum hendrerit turpis eleifend at. Praesent." | 154 | +// fullDetailsText = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sed ex euismod, feugiat justo eu, faucibus urna. Nulla sodales euismod arcu volutpat finibus. Etiam id urna at justo facilisis tempor. Morbi dignissim erat vitae magna sodales dignissim ac in mauris. Mauris tempor convallis tortor, interdum hendrerit turpis eleifend at. Praesent." |
| 155 | + fullDetailsText = couponset?._description ?? "" | ||
| 198 | 156 | ||
| 199 | detailsLabel.font = UIFont(name: "PingLCG-Regular", size: 18) | 157 | detailsLabel.font = UIFont(name: "PingLCG-Regular", size: 18) |
| 200 | detailsLabel.textColor = UIColor(rgb: 0x020E1C) | 158 | detailsLabel.textColor = UIColor(rgb: 0x020E1C) |
| ... | @@ -291,80 +249,6 @@ import UIKit | ... | @@ -291,80 +249,6 @@ import UIKit |
| 291 | } | 249 | } |
| 292 | } | 250 | } |
| 293 | 251 | ||
| 294 | - @objc private func toggleCouponCode() { | ||
| 295 | - isCouponCodeExpanded.toggle() | ||
| 296 | - | ||
| 297 | - // Calculate the target height before animation | ||
| 298 | - let targetHeight: CGFloat = isCouponCodeExpanded ? 80.67 : 0 // Set a fixed height instead of intrinsicContentSize | ||
| 299 | - | ||
| 300 | - // Show content immediately if expanding | ||
| 301 | - if isCouponCodeExpanded { | ||
| 302 | - couponCodeContentView.isHidden = false | ||
| 303 | - couponCodeContentView.alpha = 0 | ||
| 304 | - } | ||
| 305 | - | ||
| 306 | - UIView.animate(withDuration: 0.3, animations: { | ||
| 307 | - // // Update arrow image | ||
| 308 | - // self.couponCodeArrowImage.image = UIImage(named: self.isCouponCodeExpanded ? "arrow_up" : "arrow_down", in: MyEmptyClass.resourceBundle(), compatibleWith: nil) | ||
| 309 | - | ||
| 310 | - // Update arrow with rotation | ||
| 311 | - let rotation = self.isCouponCodeExpanded ? CGAffineTransform(rotationAngle: .pi) : .identity | ||
| 312 | - self.couponCodeArrowImage.transform = rotation | ||
| 313 | - | ||
| 314 | - // Update height constraint | ||
| 315 | - self.couponCodeContentHeightConstraint.constant = targetHeight | ||
| 316 | - | ||
| 317 | - // Update alpha for smooth fade | ||
| 318 | - self.couponCodeContentView.alpha = self.isCouponCodeExpanded ? 1.0 : 0.0 | ||
| 319 | - | ||
| 320 | - // Force layout update | ||
| 321 | - self.view.layoutIfNeeded() | ||
| 322 | - | ||
| 323 | - }) { _ in | ||
| 324 | - // Hide content after animation completes if collapsing | ||
| 325 | - if !self.isCouponCodeExpanded { | ||
| 326 | - self.couponCodeContentView.isHidden = true | ||
| 327 | - } | ||
| 328 | - } | ||
| 329 | - } | ||
| 330 | - | ||
| 331 | - @objc private func toggleCouponQR() { | ||
| 332 | - isCouponQRExpanded.toggle() | ||
| 333 | - | ||
| 334 | - // Calculate the target height before animation | ||
| 335 | - let targetHeight: CGFloat = isCouponQRExpanded ? 250 : 0 // Set a fixed height for QR code | ||
| 336 | - | ||
| 337 | - // Show content immediately if expanding | ||
| 338 | - if isCouponQRExpanded { | ||
| 339 | - couponQRContentView.isHidden = false | ||
| 340 | - couponQRContentView.alpha = 0 | ||
| 341 | - } | ||
| 342 | - | ||
| 343 | - UIView.animate(withDuration: 0.3, animations: { | ||
| 344 | - // Update arrow image | ||
| 345 | - // self.couponQRArrowImage.image = UIImage(named: self.isCouponQRExpanded ? "arrow_up" : "arrow_down", in: MyEmptyClass.resourceBundle(), compatibleWith: nil) | ||
| 346 | - | ||
| 347 | - // Update arrow with rotation | ||
| 348 | - let rotation = self.isCouponQRExpanded ? CGAffineTransform(rotationAngle: .pi) : .identity | ||
| 349 | - self.couponQRArrowImage.transform = rotation | ||
| 350 | - | ||
| 351 | - // Update height constraint | ||
| 352 | - self.couponQRContentHeightConstraint.constant = targetHeight | ||
| 353 | - | ||
| 354 | - // Update alpha for smooth fade | ||
| 355 | - self.couponQRContentView.alpha = self.isCouponQRExpanded ? 1.0 : 0.0 | ||
| 356 | - | ||
| 357 | - // Force layout update | ||
| 358 | - self.view.layoutIfNeeded() | ||
| 359 | - | ||
| 360 | - }) { _ in | ||
| 361 | - // Hide content after animation completes if collapsing | ||
| 362 | - if !self.isCouponQRExpanded { | ||
| 363 | - self.couponQRContentView.isHidden = true | ||
| 364 | - } | ||
| 365 | - } | ||
| 366 | - } | ||
| 367 | - | ||
| 368 | @objc private func toggleTerms() { | 252 | @objc private func toggleTerms() { |
| 369 | isTermsExpanded.toggle() | 253 | isTermsExpanded.toggle() |
| 370 | 254 | ||
| ... | @@ -380,72 +264,4 @@ import UIKit | ... | @@ -380,72 +264,4 @@ import UIKit |
| 380 | } | 264 | } |
| 381 | } | 265 | } |
| 382 | 266 | ||
| 383 | - @objc private func copyButtonTapped() { | ||
| 384 | - // Get the coupon code text | ||
| 385 | - guard let couponCode = couponCodeValueLabel.text else { return } | ||
| 386 | - | ||
| 387 | - // Copy to clipboard | ||
| 388 | - UIPasteboard.general.string = couponCode | ||
| 389 | - | ||
| 390 | - // Show visual feedback | ||
| 391 | - showCopyFeedback() | ||
| 392 | - | ||
| 393 | - // Optional: Haptic feedback | ||
| 394 | - let impactFeedback = UIImpactFeedbackGenerator(style: .medium) | ||
| 395 | - impactFeedback.impactOccurred() | ||
| 396 | - } | ||
| 397 | - | ||
| 398 | - private func showCopyFeedback() { | ||
| 399 | - // Store original image | ||
| 400 | - // let originalImage = copyButtonImage.image | ||
| 401 | - | ||
| 402 | - // Change to checkmark temporarily | ||
| 403 | - // copyButtonImage.image = UIImage(systemName: "checkmark") | ||
| 404 | - // copyButtonImage.tintColor = UIColor(rgb: 0x09914E) // Green color | ||
| 405 | - | ||
| 406 | - // Show toast message | ||
| 407 | - showToast(message: "Κωδικός αντιγράφηκε!") | ||
| 408 | - | ||
| 409 | - // Reset after 1.5 seconds | ||
| 410 | - // DispatchQueue.main.asyncAfter(deadline: .now() + 1.5) { | ||
| 411 | - // self.copyButtonImage.image = originalImage | ||
| 412 | - // self.copyButtonImage.tintColor = UIColor(rgb: 0xCBCED1) // Original color | ||
| 413 | - // } | ||
| 414 | - } | ||
| 415 | - | ||
| 416 | - private func showToast(message: String) { | ||
| 417 | - // Create toast label | ||
| 418 | - let toast = UILabel() | ||
| 419 | - toast.backgroundColor = UIColor.black.withAlphaComponent(0.8) | ||
| 420 | - toast.textColor = .white | ||
| 421 | - toast.textAlignment = .center | ||
| 422 | - toast.font = UIFont(name: "PingLCG-Regular", size: 14) | ||
| 423 | - toast.text = message | ||
| 424 | - toast.alpha = 0.0 | ||
| 425 | - toast.layer.cornerRadius = 8 | ||
| 426 | - toast.clipsToBounds = true | ||
| 427 | - | ||
| 428 | - // Add to view | ||
| 429 | - view.addSubview(toast) | ||
| 430 | - toast.translatesAutoresizingMaskIntoConstraints = false | ||
| 431 | - NSLayoutConstraint.activate([ | ||
| 432 | - toast.centerXAnchor.constraint(equalTo: view.centerXAnchor), | ||
| 433 | - toast.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor, constant: -100), | ||
| 434 | - toast.widthAnchor.constraint(equalToConstant: 200), | ||
| 435 | - toast.heightAnchor.constraint(equalToConstant: 40) | ||
| 436 | - ]) | ||
| 437 | - | ||
| 438 | - // Animate in | ||
| 439 | - UIView.animate(withDuration: 0.3, animations: { | ||
| 440 | - toast.alpha = 1.0 | ||
| 441 | - }) { _ in | ||
| 442 | - // Animate out after delay | ||
| 443 | - UIView.animate(withDuration: 0.3, delay: 1.5, animations: { | ||
| 444 | - toast.alpha = 0.0 | ||
| 445 | - }) { _ in | ||
| 446 | - toast.removeFromSuperview() | ||
| 447 | - } | ||
| 448 | - } | ||
| 449 | - } | ||
| 450 | - | ||
| 451 | } | 267 | } | ... | ... |
| ... | @@ -10,25 +10,7 @@ | ... | @@ -10,25 +10,7 @@ |
| 10 | <objects> | 10 | <objects> |
| 11 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="CouponsetViewController" customModule="SwiftWarplyFramework" customModuleProvider="target"> | 11 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="CouponsetViewController" customModule="SwiftWarplyFramework" customModuleProvider="target"> |
| 12 | <connections> | 12 | <connections> |
| 13 | - <outlet property="copyButton" destination="m3i-vZ-CnB" id="RvZ-a5-lOk"/> | ||
| 14 | - <outlet property="copyButtonImage" destination="gvk-s4-PBD" id="NB5-Cs-XIZ"/> | ||
| 15 | - <outlet property="couponCodeArrowImage" destination="cLt-W0-J7b" id="rhG-F2-CEF"/> | ||
| 16 | - <outlet property="couponCodeButton" destination="Or4-Qv-FhV" id="HNQ-W8-EJt"/> | ||
| 17 | - <outlet property="couponCodeContainerView" destination="29d-hw-9hc" id="bFc-aC-TB8"/> | ||
| 18 | - <outlet property="couponCodeContentHeightConstraint" destination="Pdw-1g-EBR" id="c8h-hL-86W"/> | ||
| 19 | - <outlet property="couponCodeContentView" destination="fPF-zq-mmh" id="TzU-Cp-YiP"/> | ||
| 20 | - <outlet property="couponCodeHeaderView" destination="aiu-GV-BNh" id="S0d-Rf-fJk"/> | ||
| 21 | - <outlet property="couponCodeTitleLabel" destination="QFx-zm-Qpn" id="hwX-hU-Odi"/> | ||
| 22 | - <outlet property="couponCodeValueLabel" destination="fLU-pC-Plj" id="aJj-My-W8v"/> | ||
| 23 | <outlet property="couponImage" destination="50f-Uw-WmD" id="yxn-pQ-nCT"/> | 13 | <outlet property="couponImage" destination="50f-Uw-WmD" id="yxn-pQ-nCT"/> |
| 24 | - <outlet property="couponQRArrowImage" destination="41k-Lv-Ekd" id="t3K-U3-iKg"/> | ||
| 25 | - <outlet property="couponQRButton" destination="GHf-9X-rhc" id="KTg-qi-csy"/> | ||
| 26 | - <outlet property="couponQRContainerView" destination="YkU-9O-TIA" id="ZYg-PQ-pc5"/> | ||
| 27 | - <outlet property="couponQRContentHeightConstraint" destination="WnV-ph-lxQ" id="mFh-ob-BUc"/> | ||
| 28 | - <outlet property="couponQRContentView" destination="g3y-cV-fMg" id="kGI-iD-j8P"/> | ||
| 29 | - <outlet property="couponQRHeaderView" destination="eUm-Wc-G5O" id="byR-SI-PUH"/> | ||
| 30 | - <outlet property="couponQRImage" destination="Zkh-qS-gYz" id="5aD-AM-Qc7"/> | ||
| 31 | - <outlet property="couponQRTitleLabel" destination="yia-c1-g1x" id="Aft-FH-B0b"/> | ||
| 32 | <outlet property="detailsLabel" destination="tOt-gP-Et5" id="H2V-Uq-Dsj"/> | 14 | <outlet property="detailsLabel" destination="tOt-gP-Et5" id="H2V-Uq-Dsj"/> |
| 33 | <outlet property="expirationLabel" destination="PZ8-Go-A85" id="hXE-lo-i0w"/> | 15 | <outlet property="expirationLabel" destination="PZ8-Go-A85" id="hXE-lo-i0w"/> |
| 34 | <outlet property="favoriteImage" destination="kQb-LM-Zaa" id="75J-Ez-RZx"/> | 16 | <outlet property="favoriteImage" destination="kQb-LM-Zaa" id="75J-Ez-RZx"/> |
| ... | @@ -61,7 +43,7 @@ | ... | @@ -61,7 +43,7 @@ |
| 61 | <rect key="frame" x="0.0" y="0.0" width="393" height="734"/> | 43 | <rect key="frame" x="0.0" y="0.0" width="393" height="734"/> |
| 62 | <subviews> | 44 | <subviews> |
| 63 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="mci-HQ-9iu" userLabel="Scroll Content View"> | 45 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="mci-HQ-9iu" userLabel="Scroll Content View"> |
| 64 | - <rect key="frame" x="0.0" y="0.0" width="393" height="1177"/> | 46 | + <rect key="frame" x="0.0" y="0.0" width="393" height="734"/> |
| 65 | <subviews> | 47 | <subviews> |
| 66 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="50f-Uw-WmD" userLabel="Coupon Image View"> | 48 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="50f-Uw-WmD" userLabel="Coupon Image View"> |
| 67 | <rect key="frame" x="0.0" y="0.0" width="393" height="211"/> | 49 | <rect key="frame" x="0.0" y="0.0" width="393" height="211"/> |
| ... | @@ -97,7 +79,7 @@ | ... | @@ -97,7 +79,7 @@ |
| 97 | <constraint firstItem="oln-Zl-Mu1" firstAttribute="leading" secondItem="RK8-R9-SZK" secondAttribute="trailing" constant="4.5" id="uSA-Gk-Fws"/> | 79 | <constraint firstItem="oln-Zl-Mu1" firstAttribute="leading" secondItem="RK8-R9-SZK" secondAttribute="trailing" constant="4.5" id="uSA-Gk-Fws"/> |
| 98 | </constraints> | 80 | </constraints> |
| 99 | </view> | 81 | </view> |
| 100 | - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="aSO-pm-a0W" userLabel="Title Label"> | 82 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="Label" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="aSO-pm-a0W" userLabel="Title Label"> |
| 101 | <rect key="frame" x="24" y="234" width="249" height="20.333333333333343"/> | 83 | <rect key="frame" x="24" y="234" width="249" height="20.333333333333343"/> |
| 102 | <fontDescription key="fontDescription" type="system" pointSize="17"/> | 84 | <fontDescription key="fontDescription" type="system" pointSize="17"/> |
| 103 | <nil key="textColor"/> | 85 | <nil key="textColor"/> |
| ... | @@ -119,197 +101,26 @@ | ... | @@ -119,197 +101,26 @@ |
| 119 | <constraint firstAttribute="height" constant="40" id="Woz-Er-jU5"/> | 101 | <constraint firstAttribute="height" constant="40" id="Woz-Er-jU5"/> |
| 120 | </constraints> | 102 | </constraints> |
| 121 | </imageView> | 103 | </imageView> |
| 122 | - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="iWC-mi-WKw" userLabel="Subtitle Label"> | 104 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="iWC-mi-WKw" userLabel="Subtitle Label"> |
| 123 | - <rect key="frame" x="24" y="254.33333333333334" width="345" height="20.333333333333343"/> | 105 | + <rect key="frame" x="24" y="254.33333333333337" width="345" height="20.333333333333258"/> |
| 124 | <fontDescription key="fontDescription" type="system" pointSize="17"/> | 106 | <fontDescription key="fontDescription" type="system" pointSize="17"/> |
| 125 | <nil key="textColor"/> | 107 | <nil key="textColor"/> |
| 126 | <nil key="highlightedColor"/> | 108 | <nil key="highlightedColor"/> |
| 127 | </label> | 109 | </label> |
| 128 | - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="PZ8-Go-A85" userLabel="Expiration Label"> | 110 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="PZ8-Go-A85" userLabel="Expiration Label"> |
| 129 | - <rect key="frame" x="24" y="288.66666666666669" width="345" height="20.333333333333314"/> | 111 | + <rect key="frame" x="24" y="288.66666666666674" width="345" height="20.333333333333314"/> |
| 130 | <fontDescription key="fontDescription" type="system" pointSize="17"/> | 112 | <fontDescription key="fontDescription" type="system" pointSize="17"/> |
| 131 | <nil key="textColor"/> | 113 | <nil key="textColor"/> |
| 132 | <nil key="highlightedColor"/> | 114 | <nil key="highlightedColor"/> |
| 133 | </label> | 115 | </label> |
| 134 | - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="tOt-gP-Et5" userLabel="Details Label"> | 116 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="tOt-gP-Et5" userLabel="Details Label"> |
| 135 | <rect key="frame" x="24" y="329" width="345" height="20.333333333333314"/> | 117 | <rect key="frame" x="24" y="329" width="345" height="20.333333333333314"/> |
| 136 | <fontDescription key="fontDescription" type="system" pointSize="17"/> | 118 | <fontDescription key="fontDescription" type="system" pointSize="17"/> |
| 137 | <nil key="textColor"/> | 119 | <nil key="textColor"/> |
| 138 | <nil key="highlightedColor"/> | 120 | <nil key="highlightedColor"/> |
| 139 | </label> | 121 | </label> |
| 140 | - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="29d-hw-9hc" userLabel="CouponCodeContainerView"> | ||
| 141 | - <rect key="frame" x="24" y="383.33333333333331" width="345" height="134.33333333333331"/> | ||
| 142 | - <subviews> | ||
| 143 | - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="aiu-GV-BNh" userLabel="CouponCodeHeaderView"> | ||
| 144 | - <rect key="frame" x="0.0" y="0.0" width="345" height="54.333333333333336"/> | ||
| 145 | - <subviews> | ||
| 146 | - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QFx-zm-Qpn" userLabel="CouponCodeTitleLabel"> | ||
| 147 | - <rect key="frame" x="17" y="17.000000000000057" width="277" height="20.333333333333329"/> | ||
| 148 | - <fontDescription key="fontDescription" type="system" pointSize="17"/> | ||
| 149 | - <nil key="textColor"/> | ||
| 150 | - <nil key="highlightedColor"/> | ||
| 151 | - </label> | ||
| 152 | - <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="cLt-W0-J7b" userLabel="CouponCodeArrowImage"> | ||
| 153 | - <rect key="frame" x="311" y="20.666666666666686" width="13" height="13"/> | ||
| 154 | - <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
| 155 | - <constraints> | ||
| 156 | - <constraint firstAttribute="height" constant="13" id="5n5-5K-6Gl"/> | ||
| 157 | - <constraint firstAttribute="width" constant="13" id="HOb-s9-jHn"/> | ||
| 158 | - </constraints> | ||
| 159 | - </imageView> | ||
| 160 | - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Or4-Qv-FhV" userLabel="CouponCodeButton"> | ||
| 161 | - <rect key="frame" x="0.0" y="0.0" width="345" height="54.333333333333336"/> | ||
| 162 | - <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
| 163 | - <state key="normal" title="Button"/> | ||
| 164 | - <buttonConfiguration key="configuration" style="plain" title="Button"> | ||
| 165 | - <color key="baseForegroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
| 166 | - </buttonConfiguration> | ||
| 167 | - </button> | ||
| 168 | - </subviews> | ||
| 169 | - <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
| 170 | - <constraints> | ||
| 171 | - <constraint firstItem="Or4-Qv-FhV" firstAttribute="leading" secondItem="aiu-GV-BNh" secondAttribute="leading" id="3L1-2d-c9l"/> | ||
| 172 | - <constraint firstItem="cLt-W0-J7b" firstAttribute="leading" secondItem="QFx-zm-Qpn" secondAttribute="trailing" constant="17" id="BY0-sX-Ij6"/> | ||
| 173 | - <constraint firstItem="Or4-Qv-FhV" firstAttribute="top" secondItem="aiu-GV-BNh" secondAttribute="top" id="HbR-kc-b0S"/> | ||
| 174 | - <constraint firstAttribute="trailing" secondItem="Or4-Qv-FhV" secondAttribute="trailing" id="PAh-NE-K8G"/> | ||
| 175 | - <constraint firstAttribute="bottom" secondItem="Or4-Qv-FhV" secondAttribute="bottom" id="Xlv-SC-QlR"/> | ||
| 176 | - <constraint firstItem="QFx-zm-Qpn" firstAttribute="top" secondItem="aiu-GV-BNh" secondAttribute="top" constant="17" id="Yjr-Rs-j8t"/> | ||
| 177 | - <constraint firstAttribute="trailing" secondItem="cLt-W0-J7b" secondAttribute="trailing" constant="21" id="cf5-ur-kx8"/> | ||
| 178 | - <constraint firstItem="cLt-W0-J7b" firstAttribute="centerY" secondItem="aiu-GV-BNh" secondAttribute="centerY" id="oah-FX-t8K"/> | ||
| 179 | - <constraint firstAttribute="bottom" secondItem="QFx-zm-Qpn" secondAttribute="bottom" constant="17" id="pIk-PV-GY0"/> | ||
| 180 | - <constraint firstItem="QFx-zm-Qpn" firstAttribute="leading" secondItem="aiu-GV-BNh" secondAttribute="leading" constant="17" id="uMw-90-i4l"/> | ||
| 181 | - </constraints> | ||
| 182 | - </view> | ||
| 183 | - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="fPF-zq-mmh" userLabel="CouponCodeContentView"> | ||
| 184 | - <rect key="frame" x="0.0" y="54.333333333333314" width="345" height="80"/> | ||
| 185 | - <subviews> | ||
| 186 | - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fLU-pC-Plj" userLabel="CouponCodeValueLabel"> | ||
| 187 | - <rect key="frame" x="16.999999999999996" y="26" width="56.666666666666657" height="28"/> | ||
| 188 | - <fontDescription key="fontDescription" type="system" pointSize="24"/> | ||
| 189 | - <nil key="textColor"/> | ||
| 190 | - <nil key="highlightedColor"/> | ||
| 191 | - </label> | ||
| 192 | - <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="gvk-s4-PBD" userLabel="CopyButtonImage"> | ||
| 193 | - <rect key="frame" x="84.666666666666671" y="23.666666666666742" width="33" height="33"/> | ||
| 194 | - <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
| 195 | - <constraints> | ||
| 196 | - <constraint firstAttribute="width" constant="33" id="ALY-g4-dih"/> | ||
| 197 | - <constraint firstAttribute="height" constant="33" id="PaJ-hI-z6k"/> | ||
| 198 | - </constraints> | ||
| 199 | - </imageView> | ||
| 200 | - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="m3i-vZ-CnB" userLabel="CouponCopyButton"> | ||
| 201 | - <rect key="frame" x="0.0" y="0.0" width="117.66666666666667" height="80"/> | ||
| 202 | - <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
| 203 | - <state key="normal" title="Button"/> | ||
| 204 | - <buttonConfiguration key="configuration" style="plain" title="Button"> | ||
| 205 | - <color key="baseForegroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
| 206 | - </buttonConfiguration> | ||
| 207 | - </button> | ||
| 208 | - </subviews> | ||
| 209 | - <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
| 210 | - <constraints> | ||
| 211 | - <constraint firstItem="gvk-s4-PBD" firstAttribute="trailing" secondItem="m3i-vZ-CnB" secondAttribute="trailing" id="1O8-g3-Mle"/> | ||
| 212 | - <constraint firstItem="fLU-pC-Plj" firstAttribute="top" secondItem="fPF-zq-mmh" secondAttribute="top" constant="26" id="CsE-B4-Fy6"/> | ||
| 213 | - <constraint firstItem="fLU-pC-Plj" firstAttribute="leading" secondItem="fPF-zq-mmh" secondAttribute="leading" constant="17" id="DcA-Yo-ZfZ"/> | ||
| 214 | - <constraint firstAttribute="bottom" secondItem="fLU-pC-Plj" secondAttribute="bottom" constant="26" id="J3W-Ep-wZk"/> | ||
| 215 | - <constraint firstAttribute="bottom" secondItem="m3i-vZ-CnB" secondAttribute="bottom" id="LUo-NY-g9R"/> | ||
| 216 | - <constraint firstItem="m3i-vZ-CnB" firstAttribute="leading" secondItem="fPF-zq-mmh" secondAttribute="leading" id="Lek-00-bZQ"/> | ||
| 217 | - <constraint firstAttribute="height" constant="80" id="Pdw-1g-EBR"/> | ||
| 218 | - <constraint firstItem="gvk-s4-PBD" firstAttribute="centerY" secondItem="fPF-zq-mmh" secondAttribute="centerY" id="dSc-Jp-D00"/> | ||
| 219 | - <constraint firstItem="m3i-vZ-CnB" firstAttribute="top" secondItem="fPF-zq-mmh" secondAttribute="top" id="grU-Ao-7aq"/> | ||
| 220 | - <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="gvk-s4-PBD" secondAttribute="trailing" constant="17" id="maW-DE-22h"/> | ||
| 221 | - <constraint firstItem="gvk-s4-PBD" firstAttribute="leading" secondItem="fLU-pC-Plj" secondAttribute="trailing" constant="11" id="viJ-A9-Vq4"/> | ||
| 222 | - </constraints> | ||
| 223 | - </view> | ||
| 224 | - </subviews> | ||
| 225 | - <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
| 226 | - <constraints> | ||
| 227 | - <constraint firstItem="fPF-zq-mmh" firstAttribute="top" secondItem="aiu-GV-BNh" secondAttribute="bottom" id="4vc-xd-rhc"/> | ||
| 228 | - <constraint firstItem="aiu-GV-BNh" firstAttribute="leading" secondItem="29d-hw-9hc" secondAttribute="leading" id="78S-aR-g2z"/> | ||
| 229 | - <constraint firstAttribute="trailing" secondItem="aiu-GV-BNh" secondAttribute="trailing" id="TKA-7b-5s3"/> | ||
| 230 | - <constraint firstAttribute="trailing" secondItem="fPF-zq-mmh" secondAttribute="trailing" id="WvZ-7R-yvJ"/> | ||
| 231 | - <constraint firstItem="fPF-zq-mmh" firstAttribute="leading" secondItem="29d-hw-9hc" secondAttribute="leading" id="dUy-qI-4Gi"/> | ||
| 232 | - <constraint firstItem="aiu-GV-BNh" firstAttribute="top" secondItem="29d-hw-9hc" secondAttribute="top" id="sgM-Gh-9Zh"/> | ||
| 233 | - <constraint firstAttribute="bottom" secondItem="fPF-zq-mmh" secondAttribute="bottom" id="tKQ-k1-OV3"/> | ||
| 234 | - </constraints> | ||
| 235 | - </view> | ||
| 236 | - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="YkU-9O-TIA" userLabel="CouponQRContainerView"> | ||
| 237 | - <rect key="frame" x="24" y="540.66666666666663" width="345" height="305"/> | ||
| 238 | - <subviews> | ||
| 239 | - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="eUm-Wc-G5O" userLabel="CouponQRHeaderView"> | ||
| 240 | - <rect key="frame" x="0.0" y="0.0" width="345" height="55"/> | ||
| 241 | - <subviews> | ||
| 242 | - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yia-c1-g1x" userLabel="CouponQRTitleLabel"> | ||
| 243 | - <rect key="frame" x="17" y="17" width="277" height="21"/> | ||
| 244 | - <fontDescription key="fontDescription" type="system" pointSize="17"/> | ||
| 245 | - <nil key="textColor"/> | ||
| 246 | - <nil key="highlightedColor"/> | ||
| 247 | - </label> | ||
| 248 | - <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="41k-Lv-Ekd" userLabel="CouponQRArrowImage"> | ||
| 249 | - <rect key="frame" x="311" y="21" width="13" height="13"/> | ||
| 250 | - <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
| 251 | - <constraints> | ||
| 252 | - <constraint firstAttribute="height" constant="13" id="6id-7o-w1B"/> | ||
| 253 | - <constraint firstAttribute="width" constant="13" id="GbL-3z-lLO"/> | ||
| 254 | - </constraints> | ||
| 255 | - </imageView> | ||
| 256 | - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="GHf-9X-rhc" userLabel="CouponQRButton"> | ||
| 257 | - <rect key="frame" x="0.0" y="0.0" width="345" height="55"/> | ||
| 258 | - <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
| 259 | - <state key="normal" title="Button"/> | ||
| 260 | - <buttonConfiguration key="configuration" style="plain" title="Button"> | ||
| 261 | - <color key="baseForegroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
| 262 | - </buttonConfiguration> | ||
| 263 | - </button> | ||
| 264 | - </subviews> | ||
| 265 | - <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
| 266 | - <constraints> | ||
| 267 | - <constraint firstItem="yia-c1-g1x" firstAttribute="leading" secondItem="eUm-Wc-G5O" secondAttribute="leading" constant="17" id="0Hm-ir-dIJ"/> | ||
| 268 | - <constraint firstItem="GHf-9X-rhc" firstAttribute="leading" secondItem="eUm-Wc-G5O" secondAttribute="leading" id="43c-Zl-wzz"/> | ||
| 269 | - <constraint firstAttribute="bottom" secondItem="GHf-9X-rhc" secondAttribute="bottom" id="4Cs-jO-J62"/> | ||
| 270 | - <constraint firstItem="41k-Lv-Ekd" firstAttribute="centerY" secondItem="eUm-Wc-G5O" secondAttribute="centerY" id="9z5-4x-NhN"/> | ||
| 271 | - <constraint firstItem="yia-c1-g1x" firstAttribute="top" secondItem="eUm-Wc-G5O" secondAttribute="top" constant="17" id="Goi-Tx-bOj"/> | ||
| 272 | - <constraint firstAttribute="bottom" secondItem="yia-c1-g1x" secondAttribute="bottom" constant="17" id="OT0-Qv-M2p"/> | ||
| 273 | - <constraint firstItem="41k-Lv-Ekd" firstAttribute="leading" secondItem="yia-c1-g1x" secondAttribute="trailing" constant="17" id="cmx-fJ-sSY"/> | ||
| 274 | - <constraint firstItem="GHf-9X-rhc" firstAttribute="top" secondItem="eUm-Wc-G5O" secondAttribute="top" id="ixt-bM-i74"/> | ||
| 275 | - <constraint firstAttribute="trailing" secondItem="GHf-9X-rhc" secondAttribute="trailing" id="kIR-05-5gY"/> | ||
| 276 | - <constraint firstAttribute="trailing" secondItem="41k-Lv-Ekd" secondAttribute="trailing" constant="21" id="nXi-62-ZGj"/> | ||
| 277 | - </constraints> | ||
| 278 | - </view> | ||
| 279 | - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="g3y-cV-fMg" userLabel="CouponQRContentView"> | ||
| 280 | - <rect key="frame" x="0.0" y="55" width="345" height="250"/> | ||
| 281 | - <subviews> | ||
| 282 | - <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Zkh-qS-gYz" userLabel="CouponQRImage"> | ||
| 283 | - <rect key="frame" x="72.666666666666686" y="20" width="200" height="200"/> | ||
| 284 | - <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
| 285 | - <constraints> | ||
| 286 | - <constraint firstAttribute="height" constant="200" id="HhN-a9-oG4"/> | ||
| 287 | - <constraint firstAttribute="width" constant="200" id="MAf-tL-aEA"/> | ||
| 288 | - </constraints> | ||
| 289 | - </imageView> | ||
| 290 | - </subviews> | ||
| 291 | - <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
| 292 | - <constraints> | ||
| 293 | - <constraint firstItem="Zkh-qS-gYz" firstAttribute="centerX" secondItem="g3y-cV-fMg" secondAttribute="centerX" id="PnZ-55-u2G"/> | ||
| 294 | - <constraint firstAttribute="bottom" secondItem="Zkh-qS-gYz" secondAttribute="bottom" constant="30" id="WHc-Fb-R48"/> | ||
| 295 | - <constraint firstAttribute="height" constant="250" id="WnV-ph-lxQ"/> | ||
| 296 | - <constraint firstItem="Zkh-qS-gYz" firstAttribute="top" secondItem="g3y-cV-fMg" secondAttribute="top" constant="20" id="lUq-E0-XWZ"/> | ||
| 297 | - </constraints> | ||
| 298 | - </view> | ||
| 299 | - </subviews> | ||
| 300 | - <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
| 301 | - <constraints> | ||
| 302 | - <constraint firstItem="g3y-cV-fMg" firstAttribute="leading" secondItem="YkU-9O-TIA" secondAttribute="leading" id="BsA-zX-5pc"/> | ||
| 303 | - <constraint firstItem="eUm-Wc-G5O" firstAttribute="top" secondItem="YkU-9O-TIA" secondAttribute="top" id="EKt-pT-pvf"/> | ||
| 304 | - <constraint firstItem="eUm-Wc-G5O" firstAttribute="leading" secondItem="YkU-9O-TIA" secondAttribute="leading" id="QN2-kp-Jes"/> | ||
| 305 | - <constraint firstAttribute="trailing" secondItem="g3y-cV-fMg" secondAttribute="trailing" id="RaR-Mz-V26"/> | ||
| 306 | - <constraint firstItem="g3y-cV-fMg" firstAttribute="top" secondItem="eUm-Wc-G5O" secondAttribute="bottom" id="a87-KC-HwB"/> | ||
| 307 | - <constraint firstAttribute="trailing" secondItem="eUm-Wc-G5O" secondAttribute="trailing" id="ci5-TU-kpQ"/> | ||
| 308 | - <constraint firstAttribute="bottom" secondItem="g3y-cV-fMg" secondAttribute="bottom" id="xVE-F8-Zzh"/> | ||
| 309 | - </constraints> | ||
| 310 | - </view> | ||
| 311 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="12M-YC-Cox" userLabel="TermsButtonView"> | 122 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="12M-YC-Cox" userLabel="TermsButtonView"> |
| 312 | - <rect key="frame" x="23.999999999999993" y="895.66666666666663" width="123.33333333333331" height="35"/> | 123 | + <rect key="frame" x="23.999999999999993" y="452.66666666666663" width="123.33333333333331" height="35"/> |
| 313 | <subviews> | 124 | <subviews> |
| 314 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Όροι Χρήσης" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uSf-AS-iFa" userLabel="TermsButtonTitleLabel"> | 125 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Όροι Χρήσης" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uSf-AS-iFa" userLabel="TermsButtonTitleLabel"> |
| 315 | <rect key="frame" x="0.0" y="5" width="101.33333333333333" height="25"/> | 126 | <rect key="frame" x="0.0" y="5" width="101.33333333333333" height="25"/> |
| ... | @@ -318,7 +129,7 @@ | ... | @@ -318,7 +129,7 @@ |
| 318 | <nil key="highlightedColor"/> | 129 | <nil key="highlightedColor"/> |
| 319 | </label> | 130 | </label> |
| 320 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="TeG-69-TfN" userLabel="TermsButtonArrowImage"> | 131 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="TeG-69-TfN" userLabel="TermsButtonArrowImage"> |
| 321 | - <rect key="frame" x="109.33333333333334" y="15.000000000000114" width="9" height="5"/> | 132 | + <rect key="frame" x="109.33333333333334" y="15" width="9" height="5"/> |
| 322 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 133 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> |
| 323 | <constraints> | 134 | <constraints> |
| 324 | <constraint firstAttribute="width" constant="9" id="Mvm-l4-0Qv"/> | 135 | <constraint firstAttribute="width" constant="9" id="Mvm-l4-0Qv"/> |
| ... | @@ -349,7 +160,7 @@ | ... | @@ -349,7 +160,7 @@ |
| 349 | </constraints> | 160 | </constraints> |
| 350 | </view> | 161 | </view> |
| 351 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jug-xV-lmv" userLabel="TermsLabel"> | 162 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jug-xV-lmv" userLabel="TermsLabel"> |
| 352 | - <rect key="frame" x="24" y="940.66666666666674" width="345" height="20.333333333333371"/> | 163 | + <rect key="frame" x="24" y="497.66666666666663" width="345" height="20.333333333333371"/> |
| 353 | <constraints> | 164 | <constraints> |
| 354 | <constraint firstAttribute="height" constant="20.329999999999998" id="9VB-9j-Q79"/> | 165 | <constraint firstAttribute="height" constant="20.329999999999998" id="9VB-9j-Q79"/> |
| 355 | </constraints> | 166 | </constraints> |
| ... | @@ -358,7 +169,7 @@ | ... | @@ -358,7 +169,7 @@ |
| 358 | <nil key="highlightedColor"/> | 169 | <nil key="highlightedColor"/> |
| 359 | </label> | 170 | </label> |
| 360 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="bTa-jT-Ufb" userLabel="MapButton"> | 171 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="bTa-jT-Ufb" userLabel="MapButton"> |
| 361 | - <rect key="frame" x="24" y="1001" width="345" height="55"/> | 172 | + <rect key="frame" x="24" y="558" width="345" height="55"/> |
| 362 | <constraints> | 173 | <constraints> |
| 363 | <constraint firstAttribute="height" constant="55" id="5AV-zY-O6v"/> | 174 | <constraint firstAttribute="height" constant="55" id="5AV-zY-O6v"/> |
| 364 | </constraints> | 175 | </constraints> |
| ... | @@ -366,7 +177,7 @@ | ... | @@ -366,7 +177,7 @@ |
| 366 | <buttonConfiguration key="configuration" style="plain" title="Button"/> | 177 | <buttonConfiguration key="configuration" style="plain" title="Button"/> |
| 367 | </button> | 178 | </button> |
| 368 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="lU8-hR-MF0" userLabel="WebsiteButton"> | 179 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="lU8-hR-MF0" userLabel="WebsiteButton"> |
| 369 | - <rect key="frame" x="24" y="1076" width="345" height="55"/> | 180 | + <rect key="frame" x="24" y="633" width="345" height="55"/> |
| 370 | <constraints> | 181 | <constraints> |
| 371 | <constraint firstAttribute="height" constant="55" id="aeV-F1-tWk"/> | 182 | <constraint firstAttribute="height" constant="55" id="aeV-F1-tWk"/> |
| 372 | </constraints> | 183 | </constraints> |
| ... | @@ -379,10 +190,9 @@ | ... | @@ -379,10 +190,9 @@ |
| 379 | <constraint firstAttribute="trailing" secondItem="PZ8-Go-A85" secondAttribute="trailing" constant="24" id="0BS-5a-p2w"/> | 190 | <constraint firstAttribute="trailing" secondItem="PZ8-Go-A85" secondAttribute="trailing" constant="24" id="0BS-5a-p2w"/> |
| 380 | <constraint firstAttribute="trailing" secondItem="raJ-sJ-NGX" secondAttribute="trailing" constant="16" id="3pn-zS-erd"/> | 191 | <constraint firstAttribute="trailing" secondItem="raJ-sJ-NGX" secondAttribute="trailing" constant="16" id="3pn-zS-erd"/> |
| 381 | <constraint firstAttribute="trailing" secondItem="50f-Uw-WmD" secondAttribute="trailing" id="5vF-D2-mBO"/> | 192 | <constraint firstAttribute="trailing" secondItem="50f-Uw-WmD" secondAttribute="trailing" id="5vF-D2-mBO"/> |
| 382 | - <constraint firstItem="12M-YC-Cox" firstAttribute="top" secondItem="YkU-9O-TIA" secondAttribute="bottom" constant="50" id="6cC-FH-1Xw"/> | 193 | + <constraint firstItem="12M-YC-Cox" firstAttribute="top" secondItem="tOt-gP-Et5" secondAttribute="bottom" constant="50" id="6cC-FH-1Xw"/> |
| 383 | <constraint firstItem="50f-Uw-WmD" firstAttribute="leading" secondItem="mci-HQ-9iu" secondAttribute="leading" id="7Rd-U6-d9j"/> | 194 | <constraint firstItem="50f-Uw-WmD" firstAttribute="leading" secondItem="mci-HQ-9iu" secondAttribute="leading" id="7Rd-U6-d9j"/> |
| 384 | <constraint firstItem="lU8-hR-MF0" firstAttribute="leading" secondItem="mci-HQ-9iu" secondAttribute="leading" constant="24" id="9R6-Lj-xSo"/> | 195 | <constraint firstItem="lU8-hR-MF0" firstAttribute="leading" secondItem="mci-HQ-9iu" secondAttribute="leading" constant="24" id="9R6-Lj-xSo"/> |
| 385 | - <constraint firstAttribute="trailing" secondItem="29d-hw-9hc" secondAttribute="trailing" constant="24" id="A4S-YK-o00"/> | ||
| 386 | <constraint firstItem="aSO-pm-a0W" firstAttribute="leading" secondItem="mci-HQ-9iu" secondAttribute="leading" constant="24" id="BIn-gA-oSw"/> | 196 | <constraint firstItem="aSO-pm-a0W" firstAttribute="leading" secondItem="mci-HQ-9iu" secondAttribute="leading" constant="24" id="BIn-gA-oSw"/> |
| 387 | <constraint firstItem="a1t-wH-dMg" firstAttribute="leading" secondItem="kQb-LM-Zaa" secondAttribute="trailing" constant="11" id="DlZ-NN-vE2"/> | 197 | <constraint firstItem="a1t-wH-dMg" firstAttribute="leading" secondItem="kQb-LM-Zaa" secondAttribute="trailing" constant="11" id="DlZ-NN-vE2"/> |
| 388 | <constraint firstItem="12M-YC-Cox" firstAttribute="leading" secondItem="mci-HQ-9iu" secondAttribute="leading" constant="24" id="Eal-pm-W9t"/> | 198 | <constraint firstItem="12M-YC-Cox" firstAttribute="leading" secondItem="mci-HQ-9iu" secondAttribute="leading" constant="24" id="Eal-pm-W9t"/> |
| ... | @@ -399,11 +209,9 @@ | ... | @@ -399,11 +209,9 @@ |
| 399 | <constraint firstItem="50f-Uw-WmD" firstAttribute="top" secondItem="mci-HQ-9iu" secondAttribute="top" id="a5j-3R-Mwh"/> | 209 | <constraint firstItem="50f-Uw-WmD" firstAttribute="top" secondItem="mci-HQ-9iu" secondAttribute="top" id="a5j-3R-Mwh"/> |
| 400 | <constraint firstAttribute="trailing" secondItem="jug-xV-lmv" secondAttribute="trailing" constant="24" id="b0Q-bb-wh3"/> | 210 | <constraint firstAttribute="trailing" secondItem="jug-xV-lmv" secondAttribute="trailing" constant="24" id="b0Q-bb-wh3"/> |
| 401 | <constraint firstItem="a1t-wH-dMg" firstAttribute="top" secondItem="50f-Uw-WmD" secondAttribute="bottom" constant="17" id="bSw-JI-jDV"/> | 211 | <constraint firstItem="a1t-wH-dMg" firstAttribute="top" secondItem="50f-Uw-WmD" secondAttribute="bottom" constant="17" id="bSw-JI-jDV"/> |
| 402 | - <constraint firstItem="29d-hw-9hc" firstAttribute="leading" secondItem="mci-HQ-9iu" secondAttribute="leading" constant="24" id="cGC-SD-gUM"/> | ||
| 403 | <constraint firstItem="iWC-mi-WKw" firstAttribute="leading" secondItem="mci-HQ-9iu" secondAttribute="leading" constant="24" id="dMq-cH-vOX"/> | 212 | <constraint firstItem="iWC-mi-WKw" firstAttribute="leading" secondItem="mci-HQ-9iu" secondAttribute="leading" constant="24" id="dMq-cH-vOX"/> |
| 404 | <constraint firstItem="raJ-sJ-NGX" firstAttribute="top" secondItem="mci-HQ-9iu" secondAttribute="top" constant="17" id="g7b-Ql-ifv"/> | 213 | <constraint firstItem="raJ-sJ-NGX" firstAttribute="top" secondItem="mci-HQ-9iu" secondAttribute="top" constant="17" id="g7b-Ql-ifv"/> |
| 405 | <constraint firstItem="lU8-hR-MF0" firstAttribute="top" secondItem="bTa-jT-Ufb" secondAttribute="bottom" constant="20" id="hGL-sc-uEw"/> | 214 | <constraint firstItem="lU8-hR-MF0" firstAttribute="top" secondItem="bTa-jT-Ufb" secondAttribute="bottom" constant="20" id="hGL-sc-uEw"/> |
| 406 | - <constraint firstItem="YkU-9O-TIA" firstAttribute="top" secondItem="29d-hw-9hc" secondAttribute="bottom" constant="23" id="igh-S5-wVl"/> | ||
| 407 | <constraint firstItem="aSO-pm-a0W" firstAttribute="top" secondItem="50f-Uw-WmD" secondAttribute="bottom" constant="23" id="jvc-rb-E6b"/> | 215 | <constraint firstItem="aSO-pm-a0W" firstAttribute="top" secondItem="50f-Uw-WmD" secondAttribute="bottom" constant="23" id="jvc-rb-E6b"/> |
| 408 | <constraint firstItem="tOt-gP-Et5" firstAttribute="top" secondItem="PZ8-Go-A85" secondAttribute="bottom" constant="20" id="kQ3-4v-3Jp"/> | 216 | <constraint firstItem="tOt-gP-Et5" firstAttribute="top" secondItem="PZ8-Go-A85" secondAttribute="bottom" constant="20" id="kQ3-4v-3Jp"/> |
| 409 | <constraint firstItem="jug-xV-lmv" firstAttribute="top" secondItem="12M-YC-Cox" secondAttribute="bottom" constant="9.9999999999998863" id="kSx-qT-pPa"/> | 217 | <constraint firstItem="jug-xV-lmv" firstAttribute="top" secondItem="12M-YC-Cox" secondAttribute="bottom" constant="9.9999999999998863" id="kSx-qT-pPa"/> |
| ... | @@ -411,9 +219,6 @@ | ... | @@ -411,9 +219,6 @@ |
| 411 | <constraint firstAttribute="trailing" secondItem="lU8-hR-MF0" secondAttribute="trailing" constant="24" id="lEm-My-Oi9"/> | 219 | <constraint firstAttribute="trailing" secondItem="lU8-hR-MF0" secondAttribute="trailing" constant="24" id="lEm-My-Oi9"/> |
| 412 | <constraint firstItem="bTa-jT-Ufb" firstAttribute="leading" secondItem="mci-HQ-9iu" secondAttribute="leading" constant="24" id="nR2-Py-LTi"/> | 220 | <constraint firstItem="bTa-jT-Ufb" firstAttribute="leading" secondItem="mci-HQ-9iu" secondAttribute="leading" constant="24" id="nR2-Py-LTi"/> |
| 413 | <constraint firstItem="jug-xV-lmv" firstAttribute="leading" secondItem="mci-HQ-9iu" secondAttribute="leading" constant="24" id="oUa-cz-J7N"/> | 221 | <constraint firstItem="jug-xV-lmv" firstAttribute="leading" secondItem="mci-HQ-9iu" secondAttribute="leading" constant="24" id="oUa-cz-J7N"/> |
| 414 | - <constraint firstAttribute="trailing" secondItem="YkU-9O-TIA" secondAttribute="trailing" constant="24" id="qPb-Zk-uAy"/> | ||
| 415 | - <constraint firstItem="YkU-9O-TIA" firstAttribute="leading" secondItem="mci-HQ-9iu" secondAttribute="leading" constant="24" id="qaA-KW-dD7"/> | ||
| 416 | - <constraint firstItem="29d-hw-9hc" firstAttribute="top" secondItem="tOt-gP-Et5" secondAttribute="bottom" constant="34" id="xG9-Pc-sWu"/> | ||
| 417 | <constraint firstItem="tOt-gP-Et5" firstAttribute="leading" secondItem="mci-HQ-9iu" secondAttribute="leading" constant="24" id="xz5-C4-0GD"/> | 222 | <constraint firstItem="tOt-gP-Et5" firstAttribute="leading" secondItem="mci-HQ-9iu" secondAttribute="leading" constant="24" id="xz5-C4-0GD"/> |
| 418 | </constraints> | 223 | </constraints> |
| 419 | </view> | 224 | </view> | ... | ... |
| ... | @@ -568,7 +568,7 @@ import UIKit | ... | @@ -568,7 +568,7 @@ import UIKit |
| 568 | 568 | ||
| 569 | private func openCouponsetViewController(with couponSet: CouponSetItemModel) { | 569 | private func openCouponsetViewController(with couponSet: CouponSetItemModel) { |
| 570 | let vc = SwiftWarplyFramework.CouponsetViewController(nibName: "CouponsetViewController", bundle: Bundle.frameworkBundle) | 570 | let vc = SwiftWarplyFramework.CouponsetViewController(nibName: "CouponsetViewController", bundle: Bundle.frameworkBundle) |
| 571 | - vc.couponSet = couponSet | 571 | + vc.couponset = couponSet |
| 572 | 572 | ||
| 573 | self.navigationController?.pushViewController(vc, animated: true) | 573 | self.navigationController?.pushViewController(vc, animated: true) |
| 574 | } | 574 | } | ... | ... |
-
Please register or login to post a comment