LNSkillFieldMultiLineEditView.swift 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. //
  2. // LNJoinUsMultiLineTextInputView.swift
  3. // Gami
  4. //
  5. // Created by OneeChan on 2026/1/20.
  6. //
  7. import Foundation
  8. import UIKit
  9. import SnapKit
  10. class LNSkillFieldMultiLineEditView: LNSkillFieldBaseEditView {
  11. private let inputField = LNCommonTextView()
  12. override init(frame: CGRect) {
  13. super.init(frame: frame)
  14. setupViews()
  15. }
  16. override func update(_ field: LNSkillEditField) {
  17. super.update(field)
  18. if let text = field.value as? String {
  19. inputField.setText(text)
  20. }
  21. if let size = field.validate.size {
  22. inputField.maxInput = size.max
  23. }
  24. needReview = false
  25. }
  26. required init(coder: NSCoder) {
  27. fatalError("init(coder:) has not been implemented")
  28. }
  29. }
  30. extension LNSkillFieldMultiLineEditView: UITextViewDelegate {
  31. func textViewDidChange(_ textView: UITextView) {
  32. field?.value = textView.text
  33. needReview = true
  34. delegate?.onSkillFieldBaseEditViewInputChanged(view: self)
  35. }
  36. }
  37. extension LNSkillFieldMultiLineEditView {
  38. private func setupViews() {
  39. inputField.delegate = self
  40. container.addSubview(inputField)
  41. inputField.snp.makeConstraints { make in
  42. make.edges.equalToSuperview()
  43. make.height.equalTo(130)
  44. }
  45. }
  46. }