123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- //
- // TSPTPImageHintVC.swift
- // AIEmoji
- //
- // Created by 100Years on 2025/4/8.
- //
- class TSPTPImageHintVC: TSBaseVC {
-
-
- let popupContentViewW:CGFloat = k_ScreenWidth - 40.0
- let popupContentViewH:CGFloat = k_ScreenHeight - 268.0
-
- var clickUpImageHandle:(()->Void)?
- lazy var popupContentView: UIView = {
- let popupContentView = UIView(frame: CGRectMake(0, 0, popupContentViewW, popupContentViewH))
- popupContentView.backgroundColor = "#222222".uiColor
- popupContentView.cornerRadius = 20.0
- return popupContentView
- }()
-
-
- lazy var noPromptsBtn: UIButton = {
- let noPromptsBtn = UIButton.createButton(title: "No more prompts".localized,image: UIImage(named: "selected_circle"),font: .font(size: 11),titleColor: .white.withAlphaComponent(0.6)){ [weak self] in
- guard let self = self else { return }
- changeNoPromptsBtn()
- }
- noPromptsBtn.setImage(UIImage(named: "radioboxSelected"), for: .selected)
- return noPromptsBtn
- }()
- override func createView() {
- setNavBarViewHidden(true)
- view.backgroundColor = .black.withAlphaComponent(0.7)
-
-
- view.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(clickView)))
-
- contentView.addSubview(popupContentView)
- popupContentView.center = view.center
-
- popupContentView.snp.makeConstraints { make in
- make.leading.equalTo(20)
- make.trailing.equalTo(-20)
- make.center.equalToSuperview()
- }
-
- setUpUI()
- }
-
-
- @objc func clickView() {
- dismiss()
- }
-
-
- func setUpUI(){
-
- let titleLabel = UILabel.createLabel(text: "Upload your photos".localized,font: .font(size: 18,weight: .semibold),textColor: .white,numberOfLines: 0)
- popupContentView.addSubview(titleLabel)
- titleLabel.snp.makeConstraints { make in
- make.leading.top.equalTo(32)
- make.trailing.equalTo(-32)
- }
-
- let goodLabel = UILabel.createLabel(text: "Good photo examples".localized,font: .font(size: 14,weight: .medium),textColor: .white,numberOfLines: 0)
- popupContentView.addSubview(goodLabel)
- goodLabel.snp.makeConstraints { make in
- make.top.equalTo(titleLabel.snp.bottom).offset(28)
- make.leading.equalTo(32)
- make.trailing.equalTo(-32)
- }
-
- let goodInfoLabel = UILabel.createLabel(text: "Fully clear and visible face, in good lighting".localized,font: .font(size: 14,weight: .medium),textColor: .white.withAlphaComponent(0.6),numberOfLines: 0)
- popupContentView.addSubview(goodInfoLabel)
- goodInfoLabel.snp.makeConstraints { make in
- make.top.equalTo(goodLabel.snp.bottom).offset(8)
- make.leading.equalTo(32)
- make.trailing.equalTo(-32)
- }
-
- let goodImageView = UIImageView.createImageView(imageName: "ptp_goodImage")
- popupContentView.addSubview(goodImageView)
- goodImageView.snp.makeConstraints { make in
- make.top.equalTo(goodInfoLabel.snp.bottom).offset(12)
- make.leading.equalTo(32)
- make.trailing.equalTo(-32)
- make.height.equalTo(108*kDesignScale)
- }
-
-
-
- let badLabel = UILabel.createLabel(text: "Bad photo examples".localized,font: .font(size: 14,weight: .medium),textColor: .white,numberOfLines: 0)
- popupContentView.addSubview(badLabel)
- badLabel.snp.makeConstraints { make in
- make.top.equalTo(goodImageView.snp.bottom).offset(28)
- make.leading.equalTo(32)
- make.trailing.equalTo(-32)
- }
-
- let badInfoLabel = UILabel.createLabel(text: "Group photos, covered faces, nudes".localized,font: .font(size: 14,weight: .medium),textColor: .white.withAlphaComponent(0.6),numberOfLines: 0)
- popupContentView.addSubview(badInfoLabel)
- badInfoLabel.snp.makeConstraints { make in
- make.top.equalTo(badLabel.snp.bottom).offset(8)
- make.leading.equalTo(32)
- make.trailing.equalTo(-32)
- }
-
- let badImageView = UIImageView.createImageView(imageName: "ptp_badImage")
- popupContentView.addSubview(badImageView)
- badImageView.snp.makeConstraints { make in
- make.top.equalTo(badInfoLabel.snp.bottom).offset(12)
- make.leading.equalTo(32)
- make.trailing.equalTo(-32)
- make.height.equalTo(108*kDesignScale)
- }
-
- let submitBtn = kCreateNormalSubmitBtn(title: "Upload Photo".localized) { [weak self] in
- guard let self = self else { return }
- dismiss()
- clickUpImageHandle?()
- }
- submitBtn.cornerRadius = 24.0
- popupContentView.addSubview(submitBtn)
- submitBtn.snp.makeConstraints { make in
- make.top.equalTo(badImageView.snp.bottom).offset(35)
- make.centerX.equalToSuperview()
- make.width.equalTo(250*kDesignScale)
- make.height.equalTo(48)
- }
-
- noPromptsBtn.isSelected = true
- popupContentView.addSubview(noPromptsBtn)
- noPromptsBtn.snp.makeConstraints { make in
- make.top.equalTo(submitBtn.snp.bottom).offset(12)
- make.centerX.equalToSuperview()
- make.height.equalTo(16)
- make.bottom.equalTo(-24)
- }
- }
-
- func changeNoPromptsBtn(){
- noPromptsBtn.isSelected = !noPromptsBtn.isSelected
- Self.isShowUploadImageHint = noPromptsBtn.isSelected
- }
-
- static var isShowUploadImageHint:Bool{
- get {
- return UserDefaults.standard.string(forKey: "isFirstUploadImagePTP") == nil
- }
-
- set {
- UserDefaults.standard.set(newValue ? "1" : nil, forKey: "isFirstUploadImagePTP")
- UserDefaults.standard.synchronize()
- }
- }
- }
|