CellMucChupWithCamera.swift
3.7 KB
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
}
}