TSGenmojiColSectionView.swift 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. //
  2. // TSGenmojiColSectionView.swift
  3. // AIEmoji
  4. //
  5. // Created by 100Years on 2025/1/17.
  6. //
  7. class TSGenmojiColSectionView: TSBaseCollectionnReusableView {
  8. static let reuseIdentifier = "TSHomeCollectionReusableView"
  9. lazy var leftLab: UILabel = {
  10. return UILabel.createLabel(font: .font(size: 16,weight: .medium),textColor: .fromHex("FFFFFF"))
  11. }()
  12. lazy var leftSubLab: UILabel = {
  13. return UILabel.createLabel(font: .font(size: 12,weight: .medium),textColor: .fromHex("#A7A7A7"))
  14. }()
  15. lazy var delBtn: UIButton = {
  16. let delBtn = UIButton.createButton(image: UIImage(named: "delete")){ [weak self] in
  17. guard let self = self else { return }
  18. actionHandler(any: "delete")
  19. }
  20. return delBtn
  21. }()
  22. override func creatUI() {
  23. bgContentView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(dismissKeyboard)))
  24. bgContentView.addSubview(leftLab)
  25. leftLab.snp.makeConstraints { make in
  26. make.leading.equalTo(16)
  27. make.centerY.equalToSuperview().offset(kSectionTitleViewCenterYOffset)
  28. }
  29. bgContentView.addSubview(leftSubLab)
  30. leftSubLab.snp.makeConstraints { make in
  31. make.leading.equalTo(leftLab.snp.trailing).offset(8)
  32. make.centerY.equalTo(leftLab)
  33. }
  34. bgContentView.addSubview(delBtn)
  35. delBtn.snp.makeConstraints { make in
  36. make.trailing.equalTo(-6)
  37. make.width.height.equalTo(40)
  38. make.centerY.equalToSuperview().offset(kSectionTitleViewCenterYOffset)
  39. }
  40. }
  41. override func renderView(with object: Any?, component: TSCollectionViewComponent, attributes: [String : Any]?) {
  42. super.renderView(with: object, component: component, attributes: attributes)
  43. if let componentReuseViewModel = object as? TSGenmojiColComponentReuseViewModel {
  44. leftLab.text = componentReuseViewModel.sectionModel.name
  45. leftSubLab.text = componentReuseViewModel.sectionModel.subText
  46. switch componentReuseViewModel.sectionModel.style {
  47. case .history,.textPicHistory,.ptpPicHistory:
  48. delBtn.isHidden = false
  49. default:
  50. delBtn.isHidden = true
  51. }
  52. }
  53. }
  54. @objc private func dismissKeyboard() {
  55. if let topVC = WindowHelper.topViewController() {
  56. topVC.view.endEditing(true) // 收起键盘
  57. }
  58. }
  59. }