1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- //
- // ReviewViewController.swift
- // WeScan
- //
- // Created by Boris Emorine on 2/25/18.
- // Copyright © 2018 WeTransfer. All rights reserved.
- //
- import UIKit
- @available(iOS 10, *)
- /// The `ReviewViewController` offers an interface to review the image after it has been cropped and deskwed according to the passed in quadrilateral.
- final class ReviewViewController: UIViewController {
-
- lazy private var imageView: UIImageView = {
- let imageView = UIImageView()
- imageView.clipsToBounds = true
- imageView.isOpaque = true
- imageView.image = results.scannedImage
- imageView.backgroundColor = .black
- imageView.contentMode = .scaleAspectFit
- imageView.translatesAutoresizingMaskIntoConstraints = false
- return imageView
- }()
-
- lazy private var doneButton: UIBarButtonItem = {
- let title = NSLocalizedString("wescan.review.button.done", comment: "A generic done button")
- let button = UIBarButtonItem(title: title, style: .done, target: self, action: #selector(finishScan))
- button.tintColor = navigationController?.navigationBar.tintColor
- return button
- }()
-
- private let results: ImageScannerResults
-
- // MARK: - Life Cycle
-
- init(results: ImageScannerResults) {
- self.results = results
-
- super.init(nibName: nil, bundle: nil)
- }
-
- required init?(coder aDecoder: NSCoder) {
- fatalError("init(coder:) has not been implemented")
- }
-
- override func viewDidLoad() {
- super.viewDidLoad()
- setupViews()
- setupConstraints()
-
- title = NSLocalizedString("wescan.review.title", comment: "The review title of the ReviewController")
- navigationItem.rightBarButtonItem = doneButton
- }
-
- // MARK: Setups
-
- private func setupViews() {
- view.addSubview(imageView)
- }
-
- private func setupConstraints() {
- let imageViewConstraints = [
- imageView.topAnchor.constraint(equalTo: view.topAnchor),
- imageView.trailingAnchor.constraint(equalTo: view.trailingAnchor),
- view.bottomAnchor.constraint(equalTo: imageView.bottomAnchor),
- view.leadingAnchor.constraint(equalTo: imageView.leadingAnchor)
- ]
-
- NSLayoutConstraint.activate(imageViewConstraints)
- }
-
- // MARK: - Actions
-
- @objc private func finishScan() {
- if let imageScannerController = navigationController as? ImageScannerController {
- imageScannerController.imageScannerDelegate?.imageScannerController(imageScannerController, didFinishScanningWithResults: results)
- }
- }
- }
|