// // UserFunctionView.swift // yinmeng-ios // // Created by yinmeng on 2024/2/26. // import UIKit protocol UserFunctionViewProtocol: NSObjectProtocol { func didClickItem(type: UserFunctionType) } class UserFunctionView: BaseView { weak var delegate: UserFunctionViewProtocol? var item:UserFunctionItem? { didSet { guard let item = item else {return} self.titleLb.text = item.title self.logoImgView.isHidden = item.isHiddenIcon } } @objc func tapViewRecognizer() { if let type = item?.itmeType { delegate?.didClickItem(type: type) } } override func loadSubViews() { super.loadSubViews() self.layer.masksToBounds = true self.layer.cornerRadius = 8 self.backgroundColor = ThemeColor(hexStr: "#525566") let tap = UITapGestureRecognizer(target: self, action: #selector(tapViewRecognizer)) addGestureRecognizer(tap) addSubview(stackView) addSubview(moreImgView) stackView.addArrangedSubview(logoImgView) stackView.addArrangedSubview(titleLb) stackView.snp.makeConstraints { make in make.left.equalTo(self).offset(24) make.centerY.equalTo(self) } logoImgView.snp.makeConstraints { make in make.size.equalTo(CGSize(width: 23, height: 23)) } titleLb.snp.makeConstraints { make in make.height.equalTo(22) } moreImgView.snp.makeConstraints { make in make.size.equalTo(CGSize(width: 16, height: 16)) make.centerY.equalTo(self) make.right.equalTo(self).offset(-24) } } private lazy var stackView: UIStackView = { let stackView = UIStackView() stackView.distribution = .fill stackView.axis = .horizontal stackView.alignment = .center stackView.spacing = 8 return stackView }() private lazy var logoImgView: UIImageView = { let imageView = UIImageView() imageView.image = UIImage(named: "user_function_diamond") imageView.isUserInteractionEnabled = true imageView.layer.masksToBounds = true imageView.contentMode = .scaleAspectFill return imageView }() private lazy var titleLb: UILabel = { let label = UILabel() label.textColor = .white label.font = UIFont.systemFont(ofSize: 16, weight: .medium) return label }() private lazy var moreImgView: UIImageView = { let imageView = UIImageView() imageView.image = UIImage(named: "user_function_more") imageView.isUserInteractionEnabled = true imageView.layer.masksToBounds = true imageView.contentMode = .scaleAspectFill return imageView }() }