ScanQRVC.swift 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. //
  2. // ScanQRVC.swift
  3. // Sirani
  4. //
  5. // Created by Anhar Solehudin on 03/04/19.
  6. // Copyright © 2019 Anhar Solehudin. All rights reserved.
  7. //
  8. import UIKit
  9. class ScanQRVC: UIViewController {
  10. // View Lifecycles
  11. override var preferredStatusBarStyle: UIStatusBarStyle {
  12. return .lightContent
  13. }
  14. override func viewDidLoad() {
  15. super.viewDidLoad()
  16. // Canvas background
  17. self.view.backgroundColor = UIColor.siraniCanvasBackground
  18. let container = UIView()
  19. container.translatesAutoresizingMaskIntoConstraints = false
  20. container.backgroundColor = .white
  21. container.layer.cornerRadius = 20
  22. container.layer.shadowColor = UIColor.black.cgColor
  23. container.layer.shadowOffset = CGSize(width: 0, height: 4)
  24. container.layer.shadowRadius = 12
  25. container.layer.shadowOpacity = 0.08
  26. self.view.addSubview(container)
  27. self.view.sendSubviewToBack(container)
  28. let titleLabel = UILabel()
  29. titleLabel.translatesAutoresizingMaskIntoConstraints = false
  30. titleLabel.text = "Pemindai QR Code"
  31. titleLabel.font = UIFont.systemFont(ofSize: 20, weight: .bold)
  32. titleLabel.textColor = UIColor.siraniTextPrimary
  33. titleLabel.textAlignment = .center
  34. let subtitleLabel = UILabel()
  35. subtitleLabel.translatesAutoresizingMaskIntoConstraints = false
  36. subtitleLabel.text = "Arahkan kamera Anda ke QR Code yang terdapat pada label perangkat telekomunikasi untuk melihat detail sertifikasi."
  37. subtitleLabel.font = UIFont.systemFont(ofSize: 14, weight: .regular)
  38. subtitleLabel.textColor = UIColor.siraniTextSecondary
  39. subtitleLabel.numberOfLines = 0
  40. subtitleLabel.textAlignment = .center
  41. container.addSubview(titleLabel)
  42. container.addSubview(subtitleLabel)
  43. NSLayoutConstraint.activate([
  44. container.centerXAnchor.constraint(equalTo: self.view.centerXAnchor),
  45. container.centerYAnchor.constraint(equalTo: self.view.centerYAnchor, constant: -50),
  46. container.leadingAnchor.constraint(equalTo: self.view.leadingAnchor, constant: 20),
  47. container.trailingAnchor.constraint(equalTo: self.view.trailingAnchor, constant: -20),
  48. container.heightAnchor.constraint(equalToConstant: 240),
  49. titleLabel.topAnchor.constraint(equalTo: container.topAnchor, constant: 36),
  50. titleLabel.leadingAnchor.constraint(equalTo: container.leadingAnchor, constant: 16),
  51. titleLabel.trailingAnchor.constraint(equalTo: container.trailingAnchor, constant: -16),
  52. subtitleLabel.topAnchor.constraint(equalTo: titleLabel.bottomAnchor, constant: 16),
  53. subtitleLabel.leadingAnchor.constraint(equalTo: container.leadingAnchor, constant: 20),
  54. subtitleLabel.trailingAnchor.constraint(equalTo: container.trailingAnchor, constant: -20)
  55. ])
  56. // Style scan button
  57. for subview in self.view.subviews {
  58. if let containerView = subview as? UIView {
  59. for inner in containerView.subviews {
  60. if let btn = inner as? UIButton {
  61. btn.layer.cornerRadius = 20
  62. btn.clipsToBounds = true
  63. btn.backgroundColor = UIColor.siraniPrimaryBlue
  64. }
  65. }
  66. }
  67. }
  68. }
  69. @IBAction func navToResultQRCode(_ sender: Any) {
  70. performSegue(withIdentifier: "QrScannerSegueId", sender: self)
  71. }
  72. // Actions
  73. @IBAction func unwindToScanQr(segue: UIStoryboardSegue) {}
  74. }