Files
featherVoice/TUIKit/TUICallKit/TUICallKit-Swift/View/Component/InviteUser/SelectGroupMemberCell.swift
2025-08-08 10:49:36 +08:00

89 lines
3.0 KiB
Swift

//
// SelectGroupMemberCell.swift
// TUICallKit
//
// Created by vincepzhang on 2023/5/12.
//
import Foundation
class SelectGroupMemberCell: UITableViewCell {
let userImageView = {
let view = UIImageView(frame: CGRect.zero)
view.layer.cornerRadius = 2
view.layer.masksToBounds = true
return view
}()
let nameLabel = {
let label = UILabel(frame: CGRect.zero)
label.textColor = TUICoreDefineConvert.getTUICallKitDynamicColor(colorKey: "callkit_select_group_member_name_color",
defaultHex: "#242424")
return label
}()
let selectImageView = {
let view = UIImageView(frame: CGRect.zero)
return view
}()
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
contentView.backgroundColor = TUICoreDefineConvert.getTUICallKitDynamicColor(colorKey: "callkit_select_group_member_cell_bg_color",
defaultHex: "#FFFFFF")
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
var isViewReady = false
override func didMoveToWindow() {
if isViewReady {
return
}
constructViewHierarchy()
activateConstraints()
}
func constructViewHierarchy() {
contentView.addSubview(userImageView)
contentView.addSubview(nameLabel)
contentView.addSubview(selectImageView)
}
func activateConstraints() {
selectImageView.snp.makeConstraints { make in
make.leading.equalToSuperview().offset(12)
make.width.height.equalTo(20)
make.centerY.equalToSuperview()
}
userImageView.snp.makeConstraints { make in
make.leading.equalTo(selectImageView.snp.trailing).offset(12)
make.width.height.equalTo(30)
make.centerY.equalToSuperview()
}
nameLabel.snp.makeConstraints { make in
make.leading.equalTo(self.userImageView.snp.trailing).offset(12)
make.trailing.equalToSuperview().offset(-12)
make.height.equalTo(40)
make.centerY.equalToSuperview()
}
}
func configCell(user: User, isSelect: Bool) {
backgroundColor = UIColor.clear
userImageView.sd_setImage(with: URL(string: user.avatar.value), placeholderImage: TUICallKitCommon.getBundleImage(name: "default_user_icon"))
if isSelect {
selectImageView.image = TUICallKitCommon.getBundleImage(name: "icon_check_box_group_selected")
} else {
selectImageView.image = TUICallKitCommon.getBundleImage(name: "icon_check_box_group_unselected")
}
nameLabel.text = User.getUserDisplayName(user: user)
}
}