123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- //
- // TSAIGenerateBaseVC.swift
- // AIEmoji
- //
- // Created by 100Years on 2025/6/24.
- //
- class TSAIGenerateBaseVC: TSBaseVC {
- lazy var bottomViewH = 60+k_Height_safeAreaInsetsBottom()
- lazy var bottomView: UIView = creatBottomView()
- lazy var xBtn: UIButton = creatXBtn()
- lazy var tryAgainBtn: UIButton = creatTryAgainBtn() //重试按钮
- lazy var regenerateBtn: UIButton = creatRegenerateBtn()
- lazy var shareBtn: TSVerticalButton = creatShareBtn()//左边分享按钮
- lazy var bigSaveBtn: UIButton = creatBigSaveBtn()//右边大保存按钮
- var isClickTheBlankClosePage = true //点击空白,关闭页面
- lazy var switchOriginalPictureBtn: TSUIExpandedTouchButton = creatSwitchOriginalPictureBtn()//新旧对比切换按钮
- lazy var netWorkImageView: UIImageView = creatNetWorkImageView()//图片生成
- lazy var expandAreaView: TSAIExpandChangeView = TSAIExpandChangeView()//扩图新旧对比
- var videoPlayerVC: TSAIListVideoPlayerVC = TSAIListVideoPlayerVC(videoURL: URL(string: "www.baidu.com")!)//视频生成
-
- var generatorModel:TSAIGeneratorModel
- var complete:((TSActionInfoModel)->Void)
- var infoModel:TSActionInfoModel?{
- didSet{
- updateResultView()
- }
- }
- //infoModel这个是用来显示数据库已有数据的,新生成就不要传递
- init(generatorModel:TSAIGeneratorModel,infoModel:TSActionInfoModel? = nil,complete:@escaping ((TSActionInfoModel)->Void)) {
- self.generatorModel = generatorModel
- self.complete = complete
- self.infoModel = infoModel
- super.init()
- }
-
- @MainActor required init?(coder: NSCoder) {
- fatalError("init(coder:) has not been implemented")
- }
-
- override func createView() {
- view.backgroundColor = .clear
- setNavBarViewHidden(true)
-
- contentView.addSubview(netWorkImageView)
- contentView.addSubview(bottomView)
- //关闭按钮
- view.addSubview(xBtn)
- xBtn.snp.makeConstraints { make in
- make.top.equalTo(k_Height_StatusBar + 4)
- make.leading.equalTo(16)
- make.width.equalTo(36)
- make.height.equalTo(36)
- }
- contentView.addSubview(regenerateBtn)
- regenerateBtn.snp.makeConstraints { make in
- make.top.equalTo(k_Height_StatusBar + 4)
- make.trailing.equalTo(-16)
- make.width.equalTo(36)
- make.height.equalTo(36)
- }
-
- let bottomBtnTop:CGFloat = 8.0
- //重试
- bottomView.addSubview(tryAgainBtn)
- tryAgainBtn.snp.makeConstraints { make in
- make.top.equalTo(bottomBtnTop)
- make.trailing.equalTo(-16)
- make.width.equalTo(252)
- make.height.equalTo(44)
- }
- //保存
- bottomView.addSubview(bigSaveBtn)
- bigSaveBtn.snp.makeConstraints { make in
- make.top.equalTo(bottomBtnTop)
- make.trailing.equalTo(-16)
- make.width.equalTo(252*kDesignScale)
- make.height.equalTo(44)
- }
- //share
- bottomView.addSubview(shareBtn)
- shareBtn.snp.makeConstraints { make in
- make.top.equalTo(bottomBtnTop)
- make.leading.equalTo(16)
- make.width.equalTo(shareBtn.intrinsicContentSize.width)
- make.height.equalTo(44)
- }
-
- //对比按钮
- contentView.addSubview(switchOriginalPictureBtn)
- switchOriginalPictureBtn.snp.makeConstraints { make in
- make.bottom.equalTo(-k_Height_safeAreaInsetsBottom() - 76)
- make.trailing.equalTo(-16)
- make.width.equalTo(40)
- make.height.equalTo(40)
- }
-
- setUpOtherTypeView()
- }
-
- func setUpOtherTypeView() {
- if isPhotoExpand {
- setUpExpandAreaView()
- }
-
- }
-
- func closePage() {
- self.dismiss(animated: true, completion: nil)
- }
- //重试
- @objc func clickTryAgainBtn(){}
- @objc func clickRegenerateBtn(){}
- //保存功能
- @objc func clickSaveBtn(){}
- @objc func clickShare(){}
- @objc func clickXBtn(){
- closePage()
- }
-
- @objc private func dismissKeyboard() {
- if isClickTheBlankClosePage {
- closePage()
- }
- }
-
- deinit {
- }
- }
- extension TSAIGenerateBaseVC {
- func updateResultView(){
- kMainAsync {
- guard let infoModel = self.infoModel else { return }
- if infoModel.isVideo {
- self.setVideoURL()
- }else if self.isPhotoExpand {
- self.setExpandAreaImage()
- }else{
- self.updateImageView()
- }
- }
- }
- }
|