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 } }