// // PublishConfirmPhotoNewViewController.swift // RainbowPlanet // // Created by 南鑫林 on 2019/9/16. // Copyright © 2019 RainbowPlanet. All rights reserved. // import UIKit class PublishConfirmPhotoNewViewController: BaseViewController { override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } var photoImg: UIImage? { didSet { photoImageView.image = self.photoImg } } typealias PubImgClosure = (_ selectedAssetArray: Array) -> Void var pubImgClosure: PubImgClosure? typealias BackClosure = () -> Void var backClosure: BackClosure? override func viewDidLoad() { super.viewDidLoad() setupViews() setupLayouts() setupData() } override var shouldAutorotate: Bool { return false } override func setupViews() { navigationBar.isHidden = true statusBarStyle = .lightContent self.view.backgroundColor = UIColor.black view.addSubview(photoImageView) view.addSubview(retakeBtn) view.addSubview(usePhotoBtn) } override func setupLayouts() { photoImageView.snp.makeConstraints { (make) in make.center.equalToSuperview() make.width.equalTo(kScreenWidth) make.height.equalTo(kScreenWidth * 16 / 9) } retakeBtn.snp.makeConstraints { (make) in make.left.equalTo(photoImageView.snp_left) make.bottom.equalTo(-kSafeTabBarHeight) make.width.equalTo(125) make.height.equalTo(48) } usePhotoBtn.snp.makeConstraints { (make) in make.right.equalTo(photoImageView.snp_right) make.bottom.equalTo(-kSafeTabBarHeight) make.width.equalTo(125) make.height.equalTo(48) } } override func setupData() { retakeBtn.rx.tap.subscribe(onNext: { [weak self] (data) in self?.navigationController?.popViewController(animated: true) }).disposed(by: disposeBag) usePhotoBtn.rx.tap.subscribe(onNext: { [weak self] (data) in PHPhotoLibrary.shared().performChanges({ }, completionHandler: { [weak self] (success, error) in // 写入相册成功后,回到主线程进行流程 DispatchQueue.main.async { [weak self] in if success != true{ SwiftProgressHUD.shared().showText("保存失败") return } let imageArr: Array = [(self?.photoImg)!] if let pubImgClosure = self?.pubImgClosure { pubImgClosure(imageArr) } } }) }).disposed(by: disposeBag) } private lazy var photoImageView: UIImageView = { let photoImageView = UIImageView() photoImageView.contentMode = .scaleAspectFit return photoImageView }() private lazy var retakeBtn: UIButton = { let retakeBtn = UIButton(type: UIButton.ButtonType.custom) retakeBtn.setTitle("重拍", for: .normal) retakeBtn.setTitleColor(kffffffColor, for: .normal) retakeBtn.titleLabel?.font = kMediumFont15 return retakeBtn }() private lazy var usePhotoBtn: UIButton = { let usePhotoBtn = UIButton(type: UIButton.ButtonType.custom) usePhotoBtn.setTitle("使用照片", for: .normal) usePhotoBtn.setTitleColor(kffffffColor, for: .normal) usePhotoBtn.titleLabel?.font = kMediumFont15 return usePhotoBtn }() }