LNEditProfileUploadImageView.swift 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. //
  2. // LNEditProfileUploadImageView.swift
  3. // Lanu
  4. //
  5. // Created by OneeChan on 2025/12/18.
  6. //
  7. import Foundation
  8. import UIKit
  9. import SnapKit
  10. class LNEditProfileUploadImageView: LNUploadImageView {
  11. private let defaultView = UIImageView()
  12. override var image: UIImage? {
  13. didSet {
  14. defaultView.isHidden = image != nil
  15. }
  16. }
  17. override init(image: UIImage? = nil) {
  18. super.init(image: image)
  19. setupViews()
  20. }
  21. required init?(coder: NSCoder) {
  22. fatalError("init(coder:) has not been implemented")
  23. }
  24. }
  25. extension LNEditProfileUploadImageView {
  26. private func setupViews() {
  27. backgroundColor = .fill_2
  28. layer.cornerRadius = 11
  29. clipsToBounds = true
  30. showClearButton = true
  31. let defaultView = buildDefault()
  32. insertSubview(defaultView, at: 0)
  33. defaultView.snp.makeConstraints { make in
  34. make.center.equalToSuperview()
  35. }
  36. }
  37. private func buildDefault() -> UIView {
  38. let config = UIImage.SymbolConfiguration(pointSize: 17)
  39. defaultView.image = .init(systemName: "plus", withConfiguration: config)
  40. defaultView.tintColor = .text_3
  41. return defaultView
  42. }
  43. }