| | |
| | | @IBOutlet weak var view_container: UIView! |
| | | @IBOutlet weak var cons_bottom: NSLayoutConstraint! |
| | | @IBOutlet weak var tableView: UITableView! |
| | | |
| | | private var models = [CouponInfoModel]() |
| | | private var clouse:((CouponInfoModel?)->Void)! |
| | | private var defaultModel:CouponInfoModel? |
| | | |
| | | override func awakeFromNib() { |
| | | super.awakeFromNib() |
| | |
| | | layoutIfNeeded() |
| | | } |
| | | |
| | | static func show(){ |
| | | static func show(_ models:[CouponInfoModel],defaultModel:CouponInfoModel? = nil,clouse:@escaping (CouponInfoModel?)->Void){ |
| | | let couponView = CouponChooseView.jq_loadNibView() |
| | | couponView.models = models |
| | | couponView.defaultModel = defaultModel |
| | | |
| | | couponView.frame = screnDelegate?.window?.frame ?? .zero |
| | | screnDelegate?.window?.addSubview(couponView) |
| | | |
| | | couponView.cons_bottom.constant = 0 |
| | | couponView.clouse = clouse |
| | | |
| | | UIView.animate(withDuration: 0.4) { |
| | | couponView.alpha = 1 |
| | | couponView.layoutIfNeeded() |
| | | }completion: { status in |
| | | couponView.tableView.reloadData() |
| | | } |
| | | } |
| | | |
| | |
| | | self.cons_bottom.constant = -(JQ_ScreenW * 1.1) |
| | | UIView.animate(withDuration: 0.4) { |
| | | self.alpha = 0 |
| | | self.layoutIfNeeded() |
| | | } completion: { _ in |
| | | self.removeFromSuperview() |
| | | } |
| | | } |
| | | |
| | | @IBAction func completeAction(_ sender: UIButton) { |
| | | clouse(defaultModel) |
| | | self.cons_bottom.constant = -(JQ_ScreenW * 1.1) |
| | | UIView.animate(withDuration: 0.4) { |
| | | self.alpha = 0 |
| | | self.layoutIfNeeded() |
| | | } completion: { _ in |
| | | self.removeFromSuperview() |
| | | } |
| | |
| | | } |
| | | |
| | | extension CouponChooseView:UITableViewDelegate{ |
| | | |
| | | |
| | | func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { |
| | | let model = models[indexPath.row] |
| | | if defaultModel?.id == model.id{ |
| | | defaultModel = nil |
| | | }else{ |
| | | defaultModel = model |
| | | } |
| | | tableView.reloadData() |
| | | } |
| | | |
| | | func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { |
| | | return 115 |
| | | } |
| | | } |
| | | |
| | | extension CouponChooseView:UITableViewDataSource{ |
| | | func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { |
| | | return 5 |
| | | return models.count |
| | | } |
| | | |
| | | func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { |
| | | let model = models[indexPath.row] |
| | | let cell = tableView.dequeueReusableCell(withIdentifier: "_CouponTCell") as! CouponTCell |
| | | cell.couponInfoModel = model |
| | | cell.btn_more.isHidden = true |
| | | cell.img_select.image = defaultModel?.id == model.id ? UIImage(named: "btn_choose_s") : UIImage(named: "btn_choose_1") |
| | | return cell |
| | | } |
| | | } |