RecordHeaderView.swift 2.2 KB
//
//  RecordHeaderView.swift
//  Twear
//
//  Created by yangbin on 2021/12/17.
//

import UIKit
import SnapKit

class RecordHeaderView: UIView {
    
    var dateLabel = UILabel()
    var arrowImageView = UIImageView()
    var section: Int = 0
    var isShow: Bool = false
    var headerClosure: ((_ section: Int) -> ())?
    
    override init(frame: CGRect) {
        super.init(frame: frame)
        
    }
    
    init(section: Int, motion: MotionRecord) {
        super.init(frame: CGRect.zero)
        self.section = section
        self.isShow = motion.isShow
        self.dateLabel.text = motion.date
        backgroundColor = .white
        dateLabel.font = RegularFont(15)
        addSubview(dateLabel)
        dateLabel.snp.makeConstraints { make in
            make.left.equalToSuperview().offset(12)
            make.centerY.equalToSuperview()
        }
        
        arrowImageView.image = UIImage(named: isShow ? "arrow_down" : "arrow_right")
        addSubview(arrowImageView)
        arrowImageView.snp.makeConstraints { make in
            make.right.equalToSuperview().offset(-12)
            make.width.height.equalTo(13)
            make.centerY.equalToSuperview()
        }
        
        let lineView = UIView()
        lineView.backgroundColor = LineColor
        addSubview(lineView)
        lineView.snp.makeConstraints { make in
            make.left.equalToSuperview().offset(12)
            make.right.equalToSuperview().offset(-12)
            make.height.equalTo(0.5)
            make.bottom.equalToSuperview()
        }
        
        addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(clickHeaderView(_:))))
    }
    
    @objc private func clickHeaderView(_ gestureRecognizer: UITapGestureRecognizer) {
        headerClosure?(section)
    }
    
    func rotateArrow(_ isShow: Bool) {
        if isShow {
            arrowImageView.image = UIImage(named: "arrow_down")
        }
        return
//        UIView.animate(withDuration: 0.3) {
//            self.arrowImageView.transform = isShow ? CGAffineTransform(rotationAngle: .pi/2) : .identity
//        }

    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
}