70 lines
1.7 KiB
Swift
70 lines
1.7 KiB
Swift
//
|
|
// CornerRadiusCell.swift
|
|
// SHECommunity
|
|
//
|
|
// Created by Lin on 2025/2/19.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
class CornerRadiusCell: UITableViewCell {
|
|
|
|
func configure(cornerRad: CGFloat = 16, corners: UIRectCorner = [.topLeft, .topRight]) {
|
|
self.corners = corners
|
|
self.cornerRad = cornerRad
|
|
}
|
|
|
|
private var cornerRad: CGFloat = 16 {
|
|
didSet {
|
|
setNeedsLayout()
|
|
}
|
|
}
|
|
|
|
private var corners: UIRectCorner = [.topLeft, .topRight]
|
|
|
|
private func setupSubviews() {
|
|
addSubview(cornerRadiusView)
|
|
|
|
cornerRadiusView.layoutChain
|
|
.edgesVertical()
|
|
.edgesHorzontal(10)
|
|
.height(15)
|
|
}
|
|
|
|
lazy var cornerRadiusView: UIView = {
|
|
let view = UIView()
|
|
view.backgroundColor = .white
|
|
return view
|
|
}()
|
|
|
|
override func layoutSubviews() {
|
|
super.layoutSubviews()
|
|
cornerRadiusView.setNeedsLayout()
|
|
cornerRadiusView.layoutIfNeeded()
|
|
cornerRadiusView.setCornerRadius(corners: corners, withCornerRadii: CGSize(width: cornerRad, height: cornerRad))
|
|
}
|
|
|
|
override init(style: CellStyle, reuseIdentifier: String?) {
|
|
super.init(style: style, reuseIdentifier: reuseIdentifier)
|
|
selectionStyle = .none
|
|
backgroundColor = .clear
|
|
setupSubviews()
|
|
}
|
|
|
|
required init?(coder: NSCoder) {
|
|
fatalError("init(coder:) has not been implemented")
|
|
}
|
|
|
|
override func awakeFromNib() {
|
|
super.awakeFromNib()
|
|
// Initialization code
|
|
}
|
|
|
|
override func setSelected(_ selected: Bool, animated: Bool) {
|
|
super.setSelected(selected, animated: animated)
|
|
|
|
// Configure the view for the selected state
|
|
}
|
|
|
|
}
|