No Description

ScanQRViewController.swift 1.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. //
  2. // ScanQRViewController.swift
  3. // PaiAi
  4. //
  5. // Created by zhengjianfei on 16/4/8.
  6. // Copyright © 2016年 FFIB. All rights reserved.
  7. //
  8. import UIKit
  9. import AVFoundation
  10. import PaiaiDataKit
  11. import PaiaiUIKit
  12. final class ScanQRViewController: UIViewController {
  13. // MARK: Storyboard property
  14. @IBOutlet weak var scanView: QRCodeScanView!
  15. // MARK: parameter property
  16. var viewModel = ScanQRViewModel()
  17. // MARK: view function
  18. override func viewDidLoad() {
  19. super.viewDidLoad()
  20. scanView.delegate = self
  21. viewModel.join(code: "http://pai.ai/g/SpA5be3")
  22. }
  23. func setNavigationBar() {
  24. title = "二维码"
  25. navigationController?.navigationBar.setBackgroundImage(UIImage.Navigation.blackBackground, for: .default)
  26. }
  27. override func viewWillAppear(_ animated: Bool) {
  28. super.viewWillAppear(animated)
  29. setNavigationBar()
  30. }
  31. override func viewWillDisappear(_ animated: Bool) {
  32. super.viewWillDisappear(animated)
  33. navigationController?.navigationBar.setBackgroundImage(UIImage.Navigation.background, for: .default)
  34. }
  35. }
  36. /// storyboard button action
  37. extension ScanQRViewController {
  38. @IBAction func openPhotoLibrary(_ sender: UIButton) {
  39. scanView.openPhotoLibrary(ctl: self)
  40. }
  41. @IBAction func openLight(_ sender: UIButton) {
  42. scanView.openLight()
  43. }
  44. }
  45. // MARK: read QR message
  46. // MARK: custom delegate function
  47. extension ScanQRViewController: QRCodeScanViewDelegate {
  48. func scanView(_ scanView: QRCodeScanView, didFinshWithError error: NSError?) {}
  49. func scanView(_ scanner: QRCodeScanView, receivedScanResult: QRCodeScanResult) {
  50. viewModel.join(code: receivedScanResult.result)
  51. }
  52. }
  53. extension ScanQRViewController: NavigationBackViewController {}