Untitled
unknown
swift
2 years ago
3.0 kB
11
Indexable
import UIKit
import SnapKit
class DetailedClientCell: UITableViewCell {
// MARK: - Properties
private let titleLabel: UILabel = {
let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
label.font = UIFont.systemFont(ofSize: 14)
label.textColor = UIColor(white: 0.66666666666666663, alpha: 1)
label.numberOfLines = 0
return label
}()
private let detailsLabel: UILabel = {
let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
label.font = UIFont.systemFont(ofSize: 14)
label.numberOfLines = 0
return label
}()
private let textSeparatorView: UIView = {
let view = UIView()
view.translatesAutoresizingMaskIntoConstraints = false
view.backgroundColor = UIColor.groupTableViewBackground
return view
}()
private let cellSeparatorView: UIView = {
let view = UIView()
view.translatesAutoresizingMaskIntoConstraints = false
view.backgroundColor = UIColor.groupTableViewBackground
return view
}()
// MARK: - Initialization
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setupUI()
}
// MARK: - UI Setup
private func setupUI() {
contentView.addSubview(titleLabel)
contentView.addSubview(textSeparatorView)
contentView.addSubview(detailsLabel)
contentView.addSubview(cellSeparatorView)
titleLabel.snp.makeConstraints { make in
make.leading.equalToSuperview().offset(12)
make.trailing.equalToSuperview().offset(-12)
make.top.equalToSuperview().offset(6)
make.bottom.equalTo(textSeparatorView.snp.top).offset(-6)
}
textSeparatorView.snp.makeConstraints { make in
make.leading.equalToSuperview()
make.trailing.equalToSuperview()
make.bottom.equalTo(detailsLabel.snp.top).offset(-6)
make.height.equalTo(1)
}
detailsLabel.snp.makeConstraints { make in
make.leading.equalToSuperview().offset(12)
make.trailing.equalToSuperview().offset(-12)
make.top.equalTo(textSeparatorView.snp.bottom).offset(6)
make.bottom.equalTo(cellSeparatorView.snp.top).offset(-6)
}
cellSeparatorView.snp.makeConstraints { make in
make.leading.equalToSuperview()
make.trailing.equalToSuperview()
make.bottom.equalToSuperview()
make.height.equalTo(1)
}
}
// MARK: - Configuration
func configure(title: String, details: String) {
titleLabel.text = title
detailsLabel.text = details
}
}
Editor is loading...