TSAIUploadPhotoVC+View.swift 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. //
  2. // TSAIUploadPhotoVC+View.swift
  3. // TSLiveWallpaper
  4. //
  5. // Created by 100Years on 2025/6/19.
  6. //
  7. extension TSAIUploadPhotoVC {
  8. func creatUploadImageView() -> UIImageView {
  9. let uploadImageView = UIImageView()
  10. uploadImageView.isUserInteractionEnabled = true
  11. uploadImageView.addGestureRecognizer(UITapGestureRecognizer(target: self, action:#selector(clickBgView)))
  12. return uploadImageView
  13. }
  14. func creatUploadImageBgView() -> UIView {
  15. let bgView = UIView()
  16. let bgImageView = UIImageView.createImageView(imageName: "ailist_upload_big_bg")
  17. bgImageView.contentMode = .scaleToFill
  18. bgView.addSubview(bgImageView)
  19. bgImageView.snp.makeConstraints { make in
  20. make.leading.bottom.trailing.top.equalTo(0)
  21. }
  22. bgView.addSubview(upLoadView)
  23. upLoadView.snp.makeConstraints { make in
  24. make.top.equalTo(244*kDesignScale)
  25. make.centerX.equalToSuperview()
  26. make.width.lessThanOrEqualTo(k_ScreenWidth)
  27. }
  28. uploadImageView.contentMode = .scaleAspectFit
  29. bgView.addSubview(uploadImageView)
  30. uploadImageView.snp.makeConstraints { make in
  31. make.height.equalTo(k_ScreenWidth)
  32. make.center.equalToSuperview()
  33. make.width.equalTo(k_ScreenWidth)
  34. }
  35. return bgView
  36. }
  37. func updateUploadImageViewFrame() {
  38. if let image = upLoadImage {
  39. uploadImageView.snp.updateConstraints { make in
  40. make.height.equalTo(kGetScaleHeight(originalSize: image.size, width: k_ScreenWidth))
  41. }
  42. }else{
  43. uploadImageView.snp.updateConstraints { make in
  44. make.height.equalTo(k_ScreenWidth)
  45. }
  46. }
  47. }
  48. func creatUpLoadView() -> UIView {
  49. let bgView = UIView()
  50. let addImageView = UIImageView.createImageView(imageName: "add")
  51. bgView.addSubview(addImageView)
  52. addImageView.snp.makeConstraints { make in
  53. make.top.equalTo(0)
  54. make.centerX.equalToSuperview()
  55. make.width.height.equalTo(24)
  56. }
  57. let textLabel = UILabel.createLabel(text: "Upload Photo".localized,font: .font(size: 16),textColor: .white,textAlignment: .center,numberOfLines: 0)
  58. bgView.addSubview(textLabel)
  59. textLabel.snp.makeConstraints { make in
  60. make.top.equalTo(addImageView.snp.bottom).offset(16)
  61. make.leading.equalTo(18)
  62. make.trailing.equalTo(-18)
  63. }
  64. let subInfoLabel = UILabel.createLabel(text: "Select an image with face fully visible".localized,font: .font(size: 12),textColor: UIColor.white.withAlphaComponent(0.6),textAlignment: .center,numberOfLines: 0)
  65. bgView.addSubview(subInfoLabel)
  66. subInfoLabel.snp.makeConstraints { make in
  67. make.top.equalTo(textLabel.snp.bottom).offset(8)
  68. make.leading.equalTo(18)
  69. make.trailing.equalTo(-18)
  70. make.bottom.equalToSuperview()
  71. }
  72. return bgView
  73. }
  74. }
  75. extension TSAIUploadPhotoVC {
  76. func creatSubmitBtn() -> UIButton {
  77. let submitBtn = kCreateNormalSubmitBtn(title: generatorStyle.generatorBtnTitle) { [weak self] in
  78. guard let self = self else { return }
  79. generateImage()
  80. }
  81. kSetBtnVipIcon(btn: submitBtn, show: true)
  82. return submitBtn
  83. }
  84. func creatDeleteBtn() -> UIButton {
  85. let deleteBtn = UIButton.createButton(backgroundImage: UIImage(named: "delete_redRound")) { [weak self] in
  86. guard let self = self else { return }
  87. upLoadImage = nil
  88. }
  89. deleteBtn.isHidden = true
  90. return deleteBtn
  91. }
  92. }
  93. extension TSAIUploadPhotoVC {
  94. func pickSinglePhoto(complete: @escaping (UIImage)->Void) {
  95. photoPickerManager.pickCustomSinglePhoto() { [weak self] image, errorString in
  96. guard let self = self else { return }
  97. if let errorString = errorString {
  98. TSToastShared.showToast(text: errorString)
  99. }else if let image = image {
  100. complete(image)
  101. }else{
  102. dePrint("图片异常")
  103. }
  104. kDelayMainShort {
  105. self.photoPickerManager.dismissPageVC()
  106. }
  107. }
  108. }
  109. }
  110. //lazy var segmentedView: BetterSegmentedControl = {
  111. // let segmentedView = BetterSegmentedControl(
  112. // frame: .zero,
  113. // segments:
  114. // LabelSegment.segments(
  115. // withTitles: ["Female".localized,"Male".localized,"Random".localized],
  116. // normalFont: .font(size: 12.0),
  117. // normalTextColor: .white.withAlphaComponent(0.4),
  118. // selectedFont: .font(size: 12.0),
  119. // selectedTextColor: "#111111".uiColor),
  120. // options:[.backgroundColor(.white.withAlphaComponent(0.1)),
  121. // .indicatorViewBackgroundColor(.white),
  122. // .indicatorViewInset(2),
  123. // .cornerRadius(20.0),
  124. // .animationSpringDamping(1.0)]
  125. // )
  126. // segmentedView.addTarget(self,action: #selector(segmentedControlValueChanged(_:)),for: .valueChanged)
  127. // return segmentedView
  128. //}()
  129. //var additionalPrompt = ",female"
  130. //@objc func segmentedControlValueChanged(_ sender: BetterSegmentedControl) {
  131. // switch sender.index {
  132. // case 0:
  133. // additionalPrompt = ",female"//女
  134. // case 1:
  135. // additionalPrompt = ",male"//男
  136. // default:
  137. // additionalPrompt = ""
  138. // }
  139. //}
  140. // if generatorStyle == .catTohuman {
  141. // cusStackView.addSpacing(length: 9)
  142. // cusStackView.addSubviewToStackWhiteBoard(segmentedView, length: 46)
  143. // segmentedView.snp.makeConstraints { make in
  144. // make.width.equalTo(k_ScreenWidth-70)
  145. // make.height.equalTo(40)
  146. // make.center.equalToSuperview()
  147. // }
  148. // }else{
  149. //文字信息区域
  150. // cusStackView.addSubviewToStack(getTextInfoCell(text: "Single photo with face fully visible".localized))
  151. // cusStackView.addSpacing(length: lineSpacing)
  152. // cusStackView.addSubviewToStack(getTextInfoCell(text: "No group photos, covered faces, nudes".localized))
  153. // }
  154. //
  155. //func getTextInfoCell(text:String) -> UIView {
  156. //
  157. //let bgView = UIView()
  158. //let pointView = UIView()
  159. //pointView.backgroundColor = .white.withAlphaComponent(0.7)
  160. //pointView.cornerRadius = 1
  161. //bgView.addSubview(pointView)
  162. //pointView.snp.makeConstraints { make in
  163. // make.top.equalTo(7)
  164. // make.leading.equalTo(22)
  165. // make.width.height.equalTo(2)
  166. //}
  167. //let textLabel1 = UILabel.createLabel(text: text,font: .font(size: 12),textColor: .white.withAlphaComponent(0.6),numberOfLines: 0)
  168. //textLabel1.setLineSpacing(lineSpacing)
  169. //bgView.addSubview(textLabel1)
  170. //textLabel1.snp.makeConstraints { make in
  171. // make.top.bottom.equalToSuperview()
  172. // make.leading.equalTo(16+16)
  173. // make.trailing.equalTo(-16)
  174. //}
  175. //return bgView
  176. //}