Untitled
unknown
swift
2 years ago
2.6 kB
6
Indexable
import UIKit
import SnapKit
class DetailedMoreCell: UITableViewCell {
// MARK: - Properties
private lazy var titleLabel: UILabel = {
let label = UILabel()
label.font = UIFont.systemFont(ofSize: 16)
return label
}()
private lazy var detailsLabel: UILabel = {
let label = UILabel()
label.font = UIFont.systemFont(ofSize: 14)
label.textColor = UIColor(white: 0.66666666666666663, alpha: 1)
label.numberOfLines = 0
return label
}()
private lazy var separatorView: UIView = {
let view = UIView()
view.backgroundColor = UIColor.groupTableViewBackground
return view
}()
private lazy var fullSeparatorView: UIView = {
let view = UIView()
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(detailsLabel)
contentView.addSubview(separatorView)
contentView.addSubview(fullSeparatorView)
// Set up constraints using SnapKit
titleLabel.snp.makeConstraints { make in
make.leading.equalToSuperview().offset(12)
make.trailing.equalToSuperview().offset(-12)
make.top.equalToSuperview().offset(14)
}
detailsLabel.snp.makeConstraints { make in
make.leading.equalTo(titleLabel)
make.trailing.equalToSuperview().offset(-12)
make.top.equalTo(titleLabel.snp.bottom).offset(6)
make.bottom.equalToSuperview().offset(-14)
}
separatorView.snp.makeConstraints { make in
make.leading.equalTo(titleLabel)
make.trailing.equalToSuperview().offset(-12)
make.bottom.equalToSuperview()
make.height.equalTo(1)
}
fullSeparatorView.snp.makeConstraints { make in
make.leading.equalToSuperview()
make.trailing.equalToSuperview()
make.bottom.equalTo(separatorView.snp.top)
make.height.greaterThanOrEqualTo(1)
make.height.equalTo(1).priority(.low) // Set a lower priority to allow dynamic height of the cell
}
}
}
Editor is loading...