Untitled
unknown
plain_text
2 years ago
2.3 kB
4
Indexable
import UIKit import SnapKit class CommonTableHeaderView: UIView { // MARK: - Properties private lazy var backView: UIView = { let view = UIView() view.backgroundColor = .white return view }() private lazy var infoLabel: UILabel = { let label = UILabel() label.font = UIFont.systemFont(ofSize: 11) label.text = "СЕГОДНЯ" return label }() private lazy var button: UIButton = { let button = UIButton() button.setTitle("Button", for: .normal) button.setTitleColor(UIColor(red: 1, green: 0.29189343579999999, blue: 0.27610697449999999, alpha: 1), for: .normal) button.addTarget(self, action: #selector(buttonTapped(_:)), for: .touchUpInside) return button }() private lazy var separatorView: UIView = { let view = UIView() view.backgroundColor = .white // Set the color you want for the separator return view }() // MARK: - Initialization override init(frame: CGRect) { super.init(frame: frame) setupUI() } required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) setupUI() } // MARK: - UI Setup private func setupUI() { addSubview(backView) addSubview(infoLabel) addSubview(button) addSubview(separatorView) // Set up constraints using SnapKit backView.snp.makeConstraints { make in make.edges.equalToSuperview() } infoLabel.snp.makeConstraints { make in make.centerY.equalToSuperview() make.leading.equalTo(safeAreaLayoutGuide).offset(12) } button.snp.makeConstraints { make in make.centerY.equalTo(infoLabel) make.trailing.equalTo(safeAreaLayoutGuide).offset(-12) make.size.equalTo(CGSize(width: 54, height: 34)) } separatorView.snp.makeConstraints { make in make.leading.trailing.bottom.equalToSuperview() make.height.equalTo(1) } } // MARK: - Button Action @objc private func buttonTapped(_ sender: UIButton) { // Handle button tap action here } }
Editor is loading...