123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- //
- // PublishEditVideoCoverImageTableViewCell.swift
- // RainbowPlanet
- //
- // Created by 南鑫林 on 2019/11/11.
- // Copyright © 2019 RainbowPlanet. All rights reserved.
- //
- import UIKit
- import RxSwift
- class PublishEditVideoCoverImageTableViewCell: UITableViewCell {
-
- let disposeBag = DisposeBag()
-
- class func cellWith(tableView:UITableView,indexPath:IndexPath) -> PublishEditVideoCoverImageTableViewCell {
- let ID = "PublishEditVideoCoverImageTableViewCell"
- tableView.register(PublishEditVideoCoverImageTableViewCell.self, forCellReuseIdentifier: ID)
- let cell : PublishEditVideoCoverImageTableViewCell = tableView.dequeueReusableCell(withIdentifier: ID, for: indexPath) as! PublishEditVideoCoverImageTableViewCell
- cell.indexPath = indexPath
- cell.tableView = tableView
- return cell
- }
-
- override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
- super.init(style: style, reuseIdentifier: reuseIdentifier)
- setupViews()
- setupLayouts()
- setupUpdata()
- }
- required init?(coder aDecoder: NSCoder) {
- fatalError("init(coder:) has not been implemented")
- }
- //MRAK: - 设置View
- private func setupViews() {
- self.selectionStyle = .none
- addSubview(coverImageButton)
- coverImageButton.addSubview(selectedCoverLabel)
- }
- private func setupLayouts() {
- coverImageButton.snp.makeConstraints { (make) in
- make.top.equalTo(15)
- make.left.equalTo(14)
- make.size.equalTo(100)
- }
- selectedCoverLabel.snp.makeConstraints { (make) in
- make.bottom.left.right.equalToSuperview()
- make.height.equalTo(24)
- }
- }
-
-
- func setupUpdata() {
- coverImageButton.rx.tap.subscribe(onNext: {
- [weak self] (_) in
- let vc = PublishCoverVideoViewController()
- vc.publishManagerVideoModel = self?.publishManagerVideoModel
- vc.selectedOutCoverImagePathClosure = {
- [weak self] (coverImage) in
- guard let strongSelf = self else { return }
- strongSelf.coverImage = coverImage
- }
- UIViewController.topMost?.navigationController?.pushViewController(vc, animated: true)
- }).disposed(by: disposeBag)
- }
-
-
- lazy var coverImageButton: UIButton = {
- let coverImageButton = UIButton()
- coverImageButton.setImage(kImage(name: "default_pic"), for: UIControl.State.normal)
- coverImageButton.imageView?.contentMode = .scaleAspectFill
- coverImageButton.cornerRadius = 2
- coverImageButton.masksToBounds = true
- return coverImageButton
- }()
-
- lazy var selectedCoverLabel: UILabel = {
- let selectedCoverLabel = UILabel()
- selectedCoverLabel.text = "选封面"
- selectedCoverLabel.textColor = kffffffColor
- selectedCoverLabel.font = kRegularFont12
- selectedCoverLabel.textAlignment = .center
- selectedCoverLabel.backgroundColor = k000000Color.withAlphaComponent(0.36)
- return selectedCoverLabel
- }()
-
- var tableView: UITableView?
- var indexPath: IndexPath?
- /// 封面路径
- var publishManagerVideoModel : PublishManagerVideoModel? {
- didSet {
- coverImageButton.setImage(UIImage(named: publishManagerVideoModel?.outCoverImagePath ?? "default_pic"), for: UIControl.State.normal)
- }
- }
- var coverImage : UIImage? {
- didSet {
- coverImageButton.setImage(coverImage, for: UIControl.State.normal)
- let imgData: Data? = UIImage.pngData(coverImage!)()
- do {
- // 清除图片路径
- PathURLManager.clearPath(pathURL:
- PathURLManager.projectPicturesPath(parentURL:
- PathURLManager.projectResourcesPath(parentURL:
- PathURLManager.projectRecordssPath(parentURL:
- PathURLManager.projectDocumentPath())))!)
-
- //设置录制视频封面输出路径
- let outCoverImagePathURL =
- PathURLManager.projectPathExtensionPng(parentURL:
- PathURLManager.projectFilePath(fileName:
- PathURLManager.randomString(), parentURL:
- PathURLManager.projectDateFormatPath(dateFormat: "yyyyMM", parentURL:
- PathURLManager.projectPicturesPath(parentURL:
- PathURLManager.projectResourcesPath(parentURL:
- PathURLManager.projectRecordssPath(parentURL:
- PathURLManager.projectDocumentPath()))))))!
-
- try imgData?.write(to: outCoverImagePathURL)
- publishManagerVideoModel?.outCoverImagePath = outCoverImagePathURL.path
- publishManagerVideoModel?.outCoverImagePathURL = outCoverImagePathURL
- }
- catch {
- SwiftProgressHUD.shared().showText("封面写入失败")
- NXLLog("存入失败")
- return
- }
- }
- }
- }
|