Blame view

App/commons/CellMucChupWithCamera.swift 3.7 KB
1341bf603   Trịnh Văn Quân   version 1.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
  import Foundation
  import UIKit
  import GeneralUtils
  
  class CellMucChupWithCamera: BaseTableViewCellUI {
      var tvTitle: UILabel!, imv: UIImageView!
      var mucChup: ShootItem!
  
      static func registerClass(tableView: UITableView, forCellReuseIdentifier: String) {
          tableView.register(CellMucChupWithCamera.self, forCellReuseIdentifier: forCellReuseIdentifier)
      }
  
      override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
          super.init(style: style, reuseIdentifier: reuseIdentifier)
          initView()
      }
  
      required init?(coder aDecoder: NSCoder) {
          super.init(coder: aDecoder)
          initView()
      }
  
      private func initView() {
          let stackView = UIStackView()
          stackView.axis = UILayoutConstraintAxis.horizontal
          stackView.translatesAutoresizingMaskIntoConstraints = false
          self.contentView.addSubview(stackView)
          NSLayoutConstraint.activate([stackView.topAnchor.constraint(equalTo: contentView.topAnchor, constant: 8),
                                       stackView.leftAnchor.constraint(equalTo: contentView.leftAnchor, constant: 8),
                                       stackView.rightAnchor.constraint(equalTo: contentView.rightAnchor, constant: -8),
                                       stackView.bottomAnchor.constraint(equalTo: contentView.bottomAnchor, constant: -8)])
          tvTitle = UILabel()
          tvTitle.numberOfLines = 0
          stackView.addArrangedSubview(tvTitle)
          tvTitle.isUserInteractionEnabled = true
          let tapTitle = UITapGestureRecognizer(target: self, action: #selector(CellMucChupWithCamera.titleClick))
          tvTitle.addGestureRecognizer(tapTitle)
  
          imv = UIImageView()
          imv.contentMode = .scaleAspectFit
          imv.isUserInteractionEnabled = true
          stackView.addArrangedSubview(imv)
          imv.widthAnchor.constraint(equalToConstant: 80).isActive = true
          imv.heightAnchor.constraint(equalToConstant: 60).isActive = true
          imv.image = #imageLiteral(resourceName:"camera_black_ic").imageWithInsets(insetDimen: 10) ?? #imageLiteral(resourceName:"camera_black_ic")
          let tap = UITapGestureRecognizer(target: self, action: #selector(CellMucChupWithCamera.btnImvClick))
          imv.addGestureRecognizer(tap)
      }
  
      func titleClick() {
          guard let viewController = self.viewController else { return }
          if viewController is VCConfirmMucDaChon { return }
          var imgObjs = [ImgObj]()
          var imgObj = ImgObj()
          imgObj.url = "http://thosonnha.nhq.vn/wp-content/uploads/2015/05/son-lot-tuong.jpg"
          imgObjs.append(imgObj)
  
          imgObj = ImgObj()
          imgObj.url = "http://media.vietq.vn/files/meo-tay-vet-ban-tren-tuong-1.jpg"
          imgObjs.append(imgObj)
  
          imgObj = ImgObj()
          imgObj.url = "http://file1.batdongsan.com.vn/file.396375.jpg"
          imgObjs.append(imgObj)
  
          VCPageImgs.openController(viewController, imgObjs: imgObjs)
      }
  
      func btnImvClick() {
          guard let viewController = self.viewController else { return }
          if viewController is VCConfirmMucDaChon { return }
          let cameraViewController = CameraViewController(croppingEnabled: false, allowsLibraryAccess: true) { [weak viewController, weak self] image, asset in
              viewController?.dismiss(animated: true, completion: nil)
              guard let image = image else { return }
              self?.imv?.image = image
              //TODO save image
          }
  
          viewController.present(cameraViewController, animated: true, completion: nil)
      }
  
      override func configCellWithData(baseObj: Any, index: Int) {
          super.configCellWithData(baseObj: baseObj, index: index)
          mucChup = baseObj as! ShootItem
          tvTitle.text = mucChup.name
      }
  }