Untitled
unknown
plain_text
3 years ago
2.3 kB
10
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...