Selaa lähdekoodia

add codeformat(swiftformat)

wenweiwei 3 vuotta sitten
vanhempi
commit
96b4c417ec

+ 9 - 15
Introduce/Aarchitecture/AppDelegate.swift

@@ -5,15 +5,15 @@
 //  Created by 胡志强 on 2021/11/29.
 //
 
-import UIKit
 import BFCommonKit
 import BFMaterialKit
+import UIKit
 
 @main
 class AppDelegate: UIResponder, UIApplicationDelegate {
     var window: UIWindow?
-    
-    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
+
+    func application(_: UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
         // Override point for customization after application launch.
         BFConfig.shared.styleColor = .intrGreen
         BFConfig.shared.statusBarStyle = .light
@@ -22,7 +22,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
         BFConfig.shared.cutViewStyleColor = UIColor.white
         BFConfig.shared.cutViewTintColor = UIColor.black
         BFConfig.shared.pointEditNamalBackgroundColor = UIColor.hexColor(hexadecimal: "#1A1A1A")
-        BFMaterialConfig.shared.materialDeleteImage =  UIImage.moduleImage(named: "icon_search_delete", moduleName: "BFMaterialKit") ?? UIImage.init()
+        BFMaterialConfig.shared.materialDeleteImage = UIImage.moduleImage(named: "icon_search_delete", moduleName: "BFMaterialKit") ?? UIImage()
         BFConfig.shared.cutDurationColor = UIColor(red: 238.0 / 255.0, green: 0 / 255.0, blue: 81.0 / 255.0, alpha: 0.1)
         BFConfig.shared.hiddenMusicMask = false
         BFConfig.shared.otherTintColor = UIColor.hexColor(hexadecimal: "#333333")
@@ -33,17 +33,11 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
 
     // MARK: 前后台 Lifecycle
 
-    func applicationWillResignActive(_ application: UIApplication) {
-        
-    }
-    
-    func applicationDidEnterBackground(_ application: UIApplication) {
-        
-    }
-    
-    func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
+    func applicationWillResignActive(_: UIApplication) {}
+
+    func applicationDidEnterBackground(_: UIApplication) {}
+
+    func application(_: UIApplication, supportedInterfaceOrientationsFor _: UIWindow?) -> UIInterfaceOrientationMask {
         return UIInterfaceOrientationMask.portrait
     }
-
 }
-

+ 3 - 4
Introduce/Aarchitecture/INTabbarController.swift

@@ -5,15 +5,15 @@
 //  Created by 胡志强 on 2021/11/29.
 //
 
+import BFCommonKit
+import BFUIKit
 import Foundation
 import UIKit
-import BFUIKit
-import BFCommonKit
 
 class INTabbarController: UITabBarController {
     override func viewDidLoad() {
         super.viewDidLoad()
-     
+
         setValue(BFTabBar(), forKey: "tabBar")
         // 去掉默认的半透明色
         tabBar.isTranslucent = false
@@ -26,6 +26,5 @@ class INTabbarController: UITabBarController {
         tabBar.barTintColor = .black
         tabBar.backgroundColor = .black
         tabBar.tintColor = .black
-
     }
 }

+ 24 - 33
Introduce/Record/INIntrocudeController.swift

@@ -5,49 +5,43 @@
 //  Created by 胡志强 on 2021/11/29.
 //
 
-import Foundation
+import BFCommonKit
+import BFRecordScreenKit
 import BFUIKit
+import Foundation
 import Photos
-import BFRecordScreenKit
-import BFCommonKit
 import UIKit
 
 class INIntrocudeController: BFBaseViewController {
-    
     let exportBtn = UIButton()
-    var assets:[PHAsset]? {
-        didSet{
+    var assets: [PHAsset]? {
+        didSet {
             if let ass = assets {
                 recordScreenVC.assets = ass
             }
         }
     }
-    
+
     let recordScreenVC = BFRecordScreenController()
-    
+
     override func viewWillAppear(_ animated: Bool) {
         super.viewWillAppear(animated)
         showNavigation()
-        
-        PQNotification.addObserver(self, selector: #selector(self.keyboardWillShow(_:)), name: UIResponder.keyboardWillShowNotification, object: nil)
-        PQNotification.addObserver(self, selector: #selector(self.keyboardWillHide(_:)), name: UIResponder.keyboardWillHideNotification, object: nil)
+
+        PQNotification.addObserver(self, selector: #selector(keyboardWillShow(_:)), name: UIResponder.keyboardWillShowNotification, object: nil)
+        PQNotification.addObserver(self, selector: #selector(keyboardWillHide(_:)), name: UIResponder.keyboardWillHideNotification, object: nil)
     }
-    
-    
+
     override func viewWillDisappear(_ animated: Bool) {
         super.viewWillDisappear(animated)
         PQNotification.removeObserver(self)
     }
-    
-   
-    
-    @objc internal func keyboardWillHide(_ notification: Notification?) {
 
+    @objc internal func keyboardWillHide(_: Notification?) {
         navHeadImageView?.isHidden = false
     }
-    
-    @objc internal func keyboardWillShow(_ notification: Notification?) {
-    
+
+    @objc internal func keyboardWillShow(_: Notification?) {
         navHeadImageView?.isHidden = true
     }
 
@@ -55,11 +49,10 @@ class INIntrocudeController: BFBaseViewController {
         super.viewDidLoad()
         navHeadImageView?.backgroundColor = .clear
         leftButton(image: nil, imageName: nil, tintColor: .white)
-        
-     
+
         exportBtn.backgroundColor = UIColor.hexColor(hexadecimal: "#28BE67")
         exportBtn.setTitle("导出", for: .normal)
-        exportBtn.addCorner(corner:4)
+        exportBtn.addCorner(corner: 4)
         exportBtn.titleLabel?.font = UIFont.systemFont(ofSize: 16)
         exportBtn.addTarget(self, action: #selector(exportAction), for: .touchUpInside)
         navHeadImageView?.addSubview(exportBtn)
@@ -69,13 +62,12 @@ class INIntrocudeController: BFBaseViewController {
             make.height.equalTo(36)
             make.centerY.equalTo(backButton!)
         }
-        
+
         addChild(recordScreenVC)
-        recordScreenVC.view.frame = self.view.frame
+        recordScreenVC.view.frame = view.frame
         view.addSubview(recordScreenVC.view)
     }
-    
-    
+
     override func backBtnClick() {
         let remindData = BFBaseModel()
         remindData.summary = "退出将不会保存当前操作"
@@ -91,24 +83,23 @@ class INIntrocudeController: BFBaseViewController {
         alertV.cancelBtn.setTitleColor(UIColor.red, for: .normal)
         alertV.contentLab.textColor = .black
         alertV.remindBlock = { [weak self] item, _ in
-            if item.tag == 1 {  // 确定返回到上一层
+            if item.tag == 1 { // 确定返回到上一层
                 self?.recordScreenVC.backBtnClick()
                 self?.super_back()
             }
         }
         UIApplication.shared.keyWindow?.addSubview(alertV)
-        
     }
+
     private func super_back() {
         super.backBtnClick()
     }
-    
-    @objc func exportAction(){
+
+    @objc func exportAction() {
         recordScreenVC.backBtnClick()
 
         let controller = INVideoExportController()
         controller.export.data = recordScreenVC.itemModels
-        self.navigationController?.pushViewController(controller, animated: true)
+        navigationController?.pushViewController(controller, animated: true)
     }
-    
 }

+ 33 - 35
Introduce/Record/INPhotoVideosController.swift

@@ -5,23 +5,23 @@
 //  Created by 胡志强 on 2021/11/29.
 //
 
-import Foundation
-import UIKit
-import BFUIKit
+import BFCommonKit
 import BFMaterialKit
 import BFRecordScreenKit
+import BFUIKit
+import Foundation
 import Photos
-import BFCommonKit
+import UIKit
 
 class INPhotoVideosController: BFBaseViewController {
-    var chosedAsset:[PHAsset]?
+    var chosedAsset: [PHAsset]?
     // 按钮高
     let choseBtnH: CGFloat = cDefaultMargin * 3
     // 按钮宽
     let choseBtnW: CGFloat = cDefaultMargin * 5
     // 间隔
     let margin: CGFloat = 12
-    
+
     lazy var albumController: BFPhotoAlbumController = {
         let albumController = BFPhotoAlbumController()
         albumController.mediaType = .video
@@ -39,14 +39,14 @@ class INPhotoVideosController: BFBaseViewController {
         }
         return albumController
     }()
-    
+
     lazy var changeCollecBtn: UIButton = {
         let changeCollecBtn = UIButton(frame: CGRect(x: cDefaultMargin * 5, y: cDevice_iPhoneStatusBarHei, width: cScreenWidth - cDefaultMargin * 10, height: cDefaultMargin * 4))
         changeCollecBtn.titleLabel?.lineBreakMode = .byTruncatingTail
         changeCollecBtn.tintColor = BFConfig.shared.styleTitleColor
         changeCollecBtn.setTitle("我的相册", for: .normal)
-        changeCollecBtn.setImage(UIImage.moduleImage(named: "icon_selected_down", moduleName: "BFFramework",isAssets: false)?.withRenderingMode(.alwaysTemplate), for: .normal)
-        changeCollecBtn.setImage(UIImage.moduleImage(named: "icon_selected_up", moduleName: "BFFramework",isAssets: false)?.withRenderingMode(.alwaysTemplate), for: .selected)
+        changeCollecBtn.setImage(UIImage.moduleImage(named: "icon_selected_down", moduleName: "BFFramework", isAssets: false)?.withRenderingMode(.alwaysTemplate), for: .normal)
+        changeCollecBtn.setImage(UIImage.moduleImage(named: "icon_selected_up", moduleName: "BFFramework", isAssets: false)?.withRenderingMode(.alwaysTemplate), for: .selected)
         changeCollecBtn.setTitleColor(BFConfig.shared.styleTitleColor, for: .normal)
         changeCollecBtn.titleLabel?.font = UIFont.systemFont(ofSize: 18, weight: .medium)
         changeCollecBtn.tag = 1
@@ -54,19 +54,18 @@ class INPhotoVideosController: BFBaseViewController {
         changeCollecBtn.addTarget(self, action: #selector(btnClick(sender:)), for: .touchUpInside)
         return changeCollecBtn
     }()
-    
+
     lazy var photoMaterialVc: BFPhotosMaterialController = {
         let vc = BFPhotosMaterialController()
         vc.maxChoseNum = 20
         vc.view.backgroundColor = .black
         vc.updateFrame(newFrame: CGRect(x: 0, y: navHeadImageView?.bottomY ?? 0, width: cScreenWidth, height: cScreenHeigth - cDevice_iPhoneNavBarAndStatusBarHei - cDevice_iPhoneTabBarHei))
-        vc.selectedMaterialHandle = { [weak self] currentMaterialData, selectedPhotoData, _, _ in
+        vc.selectedMaterialHandle = { [weak self] _, selectedPhotoData, _, _ in
             self?.chosedAsset = selectedPhotoData
-            
         }
         return vc
     }()
-    
+
     lazy var choseLocalAllBtn: UIButton = {
         let choseLocalAllBtn = UIButton(frame: CGRect(x: (view.frame.width - choseBtnW * 3) / 4, y: cDevice_iPhoneNavBarAndStatusBarHei + margin, width: choseBtnW, height: choseBtnH))
         choseLocalAllBtn.setTitleColor(UIColor.hexColor(hexadecimal: "#999999"), for: .normal)
@@ -103,7 +102,7 @@ class INPhotoVideosController: BFBaseViewController {
         choseLocalImageBtn.addTarget(self, action: #selector(btnClick(sender:)), for: .touchUpInside)
         return choseLocalImageBtn
     }()
-    
+
     lazy var choseLineView: UIView = {
         let choseLineView = UIView(frame: CGRect(x: 0, y: 0, width: 25, height: 3))
         choseLineView.frame.origin.y = (navHeadImageView?.frame.maxY ?? 0) - 6
@@ -111,8 +110,9 @@ class INPhotoVideosController: BFBaseViewController {
         choseLineView.backgroundColor = UIColor.hexColor(hexadecimal: BFConfig.shared.styleColor.rawValue)
         return choseLineView
     }()
-    
-    //MARK: - 生命周期
+
+    // MARK: - 生命周期
+
     override func viewWillAppear(_ animated: Bool) {
         super.viewWillAppear(animated)
         showNavigation()
@@ -121,9 +121,8 @@ class INPhotoVideosController: BFBaseViewController {
         // 清理cache文件
         clearCacheFile(at: exportVideosDirectory)
         clearCacheFile(at: exportAudiosDirectory)
-
     }
-    
+
     override func viewDidLoad() {
         super.viewDidLoad()
 
@@ -134,14 +133,14 @@ class INPhotoVideosController: BFBaseViewController {
         navHeadImageView?.addSubview(choseLocalAllBtn)
         navHeadImageView?.addSubview(choseLocalVideoBtn)
         navHeadImageView?.addSubview(choseLocalImageBtn)
-        
+
         addChild(photoMaterialVc)
         view.addSubview(photoMaterialVc.view)
-        
+
         let bottomV = UIView(frame: CGRect(x: 0, y: cScreenHeigth - cDevice_iPhoneTabBarHei, width: cScreenWidth, height: cDevice_iPhoneTabBarHei))
         bottomV.backgroundColor = .black
         view.addSubview(bottomV)
-        
+
         let nextBtn = UIButton(type: .custom)
         nextBtn.frame = CGRect(x: cScreenWidth - 80, y: 10, width: 70, height: 29)
         nextBtn.backgroundColor = UIColor.hexColor(hexadecimal: "#28BE67")
@@ -150,10 +149,10 @@ class INPhotoVideosController: BFBaseViewController {
         nextBtn.layer.cornerRadius = 4
         nextBtn.addTarget(self, action: #selector(rightBtnClick(sender:)), for: .touchUpInside)
         bottomV.addSubview(nextBtn)
-        
     }
-    
+
     // MARK: - 按钮点击事件
+
     /// - Parameter sender: <#sender description#>
     /// - Returns: <#description#>
     @objc func btnClick(sender: UIButton?) {
@@ -184,7 +183,7 @@ class INPhotoVideosController: BFBaseViewController {
             break
         }
     }
-    
+
     /// 图库选择的回调
     /// - Parameter seletedData: <#seletedData description#>
     /// - Returns: <#description#>
@@ -196,32 +195,31 @@ class INPhotoVideosController: BFBaseViewController {
             photoMaterialVc.assetCollection = seletedData?.assetCollection
         }
     }
-    
+
     override func rightBtnClick(sender _: UIButton) {
-        if let assets = self.chosedAsset{
+        if let assets = chosedAsset {
             let vc = INIntrocudeController()
             vc.assets = assets
             navigationController?.pushViewController(vc, animated: true)
-        }else{
+        } else {
             cShowHUB(superView: nil, msg: "需要选择一个视频")
         }
     }
-    
-    func clearCacheFile(at folderPath:String) {
-        if let files = try? FileManager.default.contentsOfDirectory(atPath: folderPath){
+
+    func clearCacheFile(at folderPath: String) {
+        if let files = try? FileManager.default.contentsOfDirectory(atPath: folderPath) {
             for file in files {
                 do {
                     try FileManager.default.removeItem(at: URL(fileURLWithPath: folderPath).appendingPathComponent(file))
-                }catch let error{
+                } catch {
                     BFLog(1, message: "\(error), \(file)")
                 }
-                
             }
         }
     }
-    
-    
-    //MARK: -
+
+    // MARK: -
+
     override open var preferredStatusBarStyle: UIStatusBarStyle {
         return .lightContent
     }

+ 10 - 12
Introduce/Record/INRecorderController.swift

@@ -5,26 +5,25 @@
 //  Created by 胡志强 on 2021/11/29.
 //  首页
 
-import Foundation
-import BFUIKit
-import BFRecordScreenKit
 import BFMaterialKit
+import BFRecordScreenKit
+import BFUIKit
+import Foundation
 
 class INRecorderController: BFBaseViewController {
-    
-    lazy var addVideoBtn:UIButton = {
+    lazy var addVideoBtn: UIButton = {
         let btn = UIButton(type: .custom)
 //        btn.setTitle("Add", for: .normal)
         btn.setImage(UIImage(named: "add"), for: .normal)
         btn.addTarget(self, action: #selector(addVideo), for: .touchUpInside)
         return btn
     }()
-    
+
     override func viewWillAppear(_ animated: Bool) {
         super.viewWillAppear(animated)
         hiddenNavigation()
     }
-    
+
     override func viewDidLoad() {
         super.viewDidLoad()
         view.backgroundColor = .black
@@ -33,7 +32,7 @@ class INRecorderController: BFBaseViewController {
             make.width.height.equalTo(170)
             make.center.equalToSuperview()
         }
-        
+
         let l = UILabel()
         l.text = "选择视频,开始讲解"
         l.textColor = .white
@@ -52,11 +51,10 @@ class INRecorderController: BFBaseViewController {
         super.didReceiveMemoryWarning()
         // Dispose of any resources that can be recreated.
     }
-    
-    @objc func addVideo(){
+
+    @objc func addVideo() {
         let vc = INPhotoVideosController()
         vc.hidesBottomBarWhenPushed = true
-        self.navigationController?.pushViewController(vc, animated: true)
+        navigationController?.pushViewController(vc, animated: true)
     }
-    
 }

+ 99 - 108
Introduce/Record/INVideoExportController.swift

@@ -5,16 +5,14 @@
 //  Created by 胡志强 on 2021/11/29.
 //
 
-import Foundation
+import BFCommonKit
+import BFRecordScreenKit
 import BFUIKit
+import Foundation
 import Photos
-import BFRecordScreenKit
 import UIKit
-import BFCommonKit
-
 
 class INVideoExportController: BFBaseViewController {
-    
     var avplayerTimeObserver: NSKeyValueObservation?
     let backV = UIView()
     var hasExportAll = false
@@ -24,9 +22,9 @@ class INVideoExportController: BFBaseViewController {
     var saveAllUlr = URL(fileURLWithPath: "aaa")
     var saveOnlyUlr = URL(fileURLWithPath: "aaa")
     var isExporting = false
-    
+
     // 播放进度
-    lazy var progreddL : UILabel = {
+    lazy var progreddL: UILabel = {
         let l = UILabel(frame: CGRect(x: 0, y: cDevice_iPhoneStatusBarHei, width: cScreenWidth, height: 14))
         l.textAlignment = .center
         l.font = UIFont.systemFont(ofSize: 10)
@@ -35,16 +33,16 @@ class INVideoExportController: BFBaseViewController {
         l.shadowOffset = CGSize(width: 1, height: 1)
         return l
     }()
-    
+
     // 合成进度指示条
-    lazy var progressView : UIView = {
+    lazy var progressView: UIView = {
         let v = UIView()
         v.backgroundColor = ThemeStyleColor
         return v
     }()
-    
+
     // 合成进度百分比lable
-    lazy var progressL : UILabel = {
+    lazy var progressL: UILabel = {
         let la = UILabel()
         la.textColor = .white
         la.textAlignment = .center
@@ -54,16 +52,16 @@ class INVideoExportController: BFBaseViewController {
         la.shadowOffset = CGSize(width: 1, height: 1)
         return la
     }()
-    
-    lazy var saveAllBtn:UIButton = {
+
+    lazy var saveAllBtn: UIButton = {
         let btn = UIButton()
         btn.setImage(UIImage(named: "export_saveall_n"), for: .normal)
         btn.setImage(UIImage(named: "export_saveall_h"), for: .selected)
         btn.addTarget(self, action: #selector(saveAllAction(btn:)), for: .touchUpInside)
         return btn
     }()
-    
-    lazy var saveOnlyBtn:UIButton = {
+
+    lazy var saveOnlyBtn: UIButton = {
         let btn = UIButton()
         btn.setImage(UIImage(named: "export_saveonly_n"), for: .normal)
         btn.setImage(UIImage(named: "export_saveonly_h"), for: .selected)
@@ -71,16 +69,16 @@ class INVideoExportController: BFBaseViewController {
         btn.isSelected = true
         return btn
     }()
-    
-    lazy var completeBtn : UIButton = {
+
+    lazy var completeBtn: UIButton = {
         let btn = UIButton()
         btn.setTitle("完成", for: .normal)
         btn.setTitleColor(UIColor.hexColor(hexadecimal: "#B1B1B1"), for: .normal)
         btn.addTarget(self, action: #selector(completeAction), for: .touchUpInside)
         return btn
     }()
-    
-    lazy var exportBtn : UIButton = {
+
+    lazy var exportBtn: UIButton = {
         let btn = UIButton()
         btn.setTitle(" 保存到相册", for: .normal)
         btn.setTitleColor(.white, for: .normal)
@@ -90,49 +88,48 @@ class INVideoExportController: BFBaseViewController {
         btn.addTarget(self, action: #selector(saveToPhotoNow), for: .touchUpInside)
         return btn
     }()
-    
-    lazy var bottomView:UIView = {
+
+    lazy var bottomView: UIView = {
         let vv = UIView()
         vv.backgroundColor = .black
         vv.isHidden = true
         return vv
     }()
-    
-    lazy var avplayer : AVPlayer = {
+
+    lazy var avplayer: AVPlayer = {
         let avplayer = AVPlayer()
-        avplayerTimeObserver = avplayer.addPeriodicTimeObserver(forInterval: CMTime(value: 1, timescale: 100), queue: DispatchQueue.global()) {[weak self, weak avplayer] time in
-         //    进度监控
+        avplayerTimeObserver = avplayer.addPeriodicTimeObserver(forInterval: CMTime(value: 1, timescale: 100), queue: DispatchQueue.global()) { [weak self, weak avplayer] time in
+            //    进度监控
             if let item = avplayer?.currentItem {
                 DispatchQueue.main.async { [weak self] in
                     self?.progreddL.text = String(format: "%@ / %@", CMTimeGetSeconds(time).formatDurationToHMS(), CMTimeGetSeconds(item.duration).formatDurationToHMS())
                 }
-                
             }
         } as? NSKeyValueObservation
-        
-        NotificationCenter.default.addObserver(forName: .AVPlayerItemDidPlayToEndTime, object: avplayer.currentItem, queue: .main) { [weak avplayer] notify in
+
+        NotificationCenter.default.addObserver(forName: .AVPlayerItemDidPlayToEndTime, object: avplayer.currentItem, queue: .main) { [weak avplayer] _ in
             avplayer?.seek(to: CMTime.zero)
         }
-        
+
         return avplayer
     }()
-    
-    lazy var export : BFRecordExport = {
+
+    lazy var export: BFRecordExport = {
         let export = BFRecordExport()
-        
-        export.progress = {[weak self] progress in
+
+        export.progress = { [weak self] progress in
             DispatchQueue.main.async { [weak self] in
                 if let sself = self {
 //                    let width = export.data?.first?.width ?? 0
-                    sself.progressL.text = String(format: "%d%%", Int(progress*100))
+                    sself.progressL.text = String(format: "%d%%", Int(progress * 100))
                     sself.progressView.snp.updateConstraints { make in
                         make.width.equalTo(cScreenWidth * CGFloat(progress))
                     }
                 }
             }
         }
-        
-        export.exportCompletion = {[weak self] (error, url) in
+
+        export.exportCompletion = { [weak self] _, url in
             DispatchQueue.main.async { [weak self] in
                 guard let sself = self else {
                     return
@@ -144,17 +141,17 @@ class INVideoExportController: BFBaseViewController {
                 sself.progreddL.isHidden = false
                 sself.progressView.isHidden = true
                 sself.progressL.isHidden = true
-                
+
                 if let fileUrl = url {
                     let item = AVPlayerItem(url: fileUrl)
                     sself.avplayer.replaceCurrentItem(with: item)
                     sself.avplayer.play()
-                    
+
                     if sself.saveAllBtn.isSelected {
                         sself.saveAllUlr = fileUrl
                         sself.hasExportAll = true
                     }
-                    
+
                     if sself.saveOnlyBtn.isSelected {
                         sself.saveOnlyUlr = fileUrl
                         sself.hasExportOnly = true
@@ -164,27 +161,24 @@ class INVideoExportController: BFBaseViewController {
         }
         return export
     }()
-    
+
     deinit {
         avplayerTimeObserver?.invalidate()
         NotificationCenter.default.removeObserver(self)
     }
-    
+
     override func viewWillAppear(_ animated: Bool) {
         super.viewWillAppear(animated)
         showNavigation()
     }
-    
+
     override func viewWillDisappear(_ animated: Bool) {
         super.viewWillDisappear(animated)
         UIApplication.shared.isIdleTimerDisabled = false
-
     }
-    
+
     override func backBtnClick() {
-        if !(hasExportAll || hasExportOnly) {
-            
-        }
+        if !(hasExportAll || hasExportOnly) {}
         export.cancelExport()
         super.backBtnClick()
     }
@@ -194,62 +188,59 @@ class INVideoExportController: BFBaseViewController {
         view.backgroundColor = .black
         navHeadImageView?.backgroundColor = .black
         leftButton(image: nil, imageName: nil, tintColor: UIColor.white)
-        
+
 //        backV.frame = CGRect(x: 0, y: navHeadImageView?.bottomY ?? 0, width: cScreenWidth, height: cScreenWidth)
         backV.backgroundColor = .clear
         backV.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(play)))
 
-        
         addSubviews()
-        
+
 //        export.startExprot()
 
-        DispatchQueue.main.asyncAfter(deadline: .now()+0.2) {[weak self] in
+        DispatchQueue.main.asyncAfter(deadline: .now() + 0.2) { [weak self] in
             self?.exportNow()
         }
     }
-    
-    func addSubviews(){
-        
+
+    func addSubviews() {
         view.addSubview(backV)
         view.addSubview(bottomView)
-        
+
         let playerLayer = AVPlayerLayer(player: avplayer)
         backV.layer.addSublayer(playerLayer)
-        
+
         backV.addSubview(progressView)
         backV.addSubview(progressL)
         backV.addSubview(progreddL)
-        
+
         bottomView.addSubview(saveAllBtn)
         bottomView.addSubview(saveOnlyBtn)
         bottomView.addSubview(exportBtn)
         bottomView.addSubview(completeBtn)
-        
+
         backV.snp.makeConstraints { make in
             make.left.right.equalToSuperview()
             make.top.equalTo(navHeadImageView!.snp.bottom)
             make.bottom.equalTo(bottomView.snp.top)
         }
-        
+
         progressView.snp.makeConstraints { make in
             make.left.top.height.equalToSuperview()
             make.width.equalTo(0)
         }
-        
+
         progressL.snp.makeConstraints { make in
             make.center.width.equalToSuperview()
             make.height.equalTo(20)
         }
-        
+
         progreddL.snp.makeConstraints { make in
             make.bottom.equalToSuperview().offset(-10)
             make.centerX.equalTo(backV)
             make.width.equalTo(100)
             make.height.equalTo(20)
         }
-        
-        
+
         bottomView.snp.makeConstraints { make in
             make.left.right.equalToSuperview()
             if #available(iOS 11.0, *) {
@@ -258,61 +249,60 @@ class INVideoExportController: BFBaseViewController {
                 make.bottom.equalToSuperview()
             }
         }
-        
+
         completeBtn.snp.makeConstraints { make in
             make.left.right.equalTo(exportBtn)
             make.bottom.equalTo(-1 * cSafeAreaHeight - 3)
             make.height.equalTo(20)
         }
-        
+
         exportBtn.snp.makeConstraints { make in
             make.left.equalTo(saveAllBtn)
             make.right.equalTo(saveOnlyBtn)
             make.height.equalTo(50)
             make.bottom.equalTo(completeBtn.snp.top).offset(-10)
         }
-        
+
         saveAllBtn.snp.makeConstraints { make in
             make.left.equalTo(16)
             make.bottom.equalTo(exportBtn.snp.top).offset(-21)
             make.height.equalTo(70)
             make.top.equalTo(28)
         }
-        
+
         saveOnlyBtn.snp.makeConstraints { make in
             make.left.equalTo(saveAllBtn.snp.right).offset(16)
             make.top.height.width.equalTo(saveAllBtn)
             make.right.equalTo(-16)
         }
-        
-        DispatchQueue.main.asyncAfter(deadline: .now()+0) {[weak self] in
+
+        DispatchQueue.main.asyncAfter(deadline: .now() + 0) { [weak self] in
             playerLayer.frame = self!.backV.bounds
         }
-
     }
-    
-    //MARK: - 按钮事件
-    
-     func exportNow(){
-         if isExporting {
-             cShowHUB(superView: nil, msg: "正在合成中。。。")
-             return
-         }
-         bottomView.isHidden = true
-         progressView.isHidden = false
-         progressL.isHidden = false
-         progreddL.isHidden = true
-         export.startExprot(synthesisAll:saveAllBtn.isSelected)
-         isExporting = true
-         UIApplication.shared.isIdleTimerDisabled = true
+
+    // MARK: - 按钮事件
+
+    func exportNow() {
+        if isExporting {
+            cShowHUB(superView: nil, msg: "正在合成中。。。")
+            return
+        }
+        bottomView.isHidden = true
+        progressView.isHidden = false
+        progressL.isHidden = false
+        progreddL.isHidden = true
+        export.startExprot(synthesisAll: saveAllBtn.isSelected)
+        isExporting = true
+        UIApplication.shared.isIdleTimerDisabled = true
     }
-    
-    @objc func saveToPhotoNow(){
-        if (self.saveAllBtn.isSelected && self.hasSaveAll) || self.saveOnlyBtn.isSelected && self.hasSaveOnly {
+
+    @objc func saveToPhotoNow() {
+        if (saveAllBtn.isSelected && hasSaveAll) || saveOnlyBtn.isSelected && hasSaveOnly {
             cShowHUB(superView: nil, msg: "已保存过了")
             return
         }
-        if let url = (avplayer.currentItem?.asset as? AVURLAsset)?.url{
+        if let url = (avplayer.currentItem?.asset as? AVURLAsset)?.url {
             PHPhotoLibrary.shared().performChanges {
                 PHAssetChangeRequest.creationRequestForAssetFromVideo(atFileURL: url)
             } completionHandler: { isFinished, _ in
@@ -322,31 +312,31 @@ class INVideoExportController: BFBaseViewController {
                     }
                     if self.saveAllBtn.isSelected {
                         self.hasSaveAll = true
-                    }else if self.saveOnlyBtn.isSelected {
+                    } else if self.saveOnlyBtn.isSelected {
                         self.hasSaveOnly = true
                     }
                 }
             }
         }
     }
-    
-    @objc func saveAllAction(btn:UIButton){
+
+    @objc func saveAllAction(btn: UIButton) {
         if btn.isSelected {
             return
         }
         btn.isSelected = true
         saveOnlyBtn.isSelected = false
         avplayer.pause()
-        if !hasExportAll{
+        if !hasExportAll {
             exportNow()
-        }else{
+        } else {
             let item = AVPlayerItem(url: saveAllUlr)
             avplayer.replaceCurrentItem(with: item)
             avplayer.play()
         }
     }
-    
-    @objc func saveOnlyAction(btn:UIButton){
+
+    @objc func saveOnlyAction(btn: UIButton) {
         if btn.isSelected {
             return
         }
@@ -355,31 +345,32 @@ class INVideoExportController: BFBaseViewController {
         avplayer.pause()
         if !hasExportOnly {
             exportNow()
-        }else{
+        } else {
             let item = AVPlayerItem(url: saveOnlyUlr)
             avplayer.replaceCurrentItem(with: item)
             avplayer.play()
         }
     }
-    
-    @objc func completeAction(){
+
+    @objc func completeAction() {
         // MARK: 删除所有录制资源. 现在放在了选择相册展示时清理cache
+
 //        export.clearFileCache()
 //        try? FileManager.default.removeItem(at: self.saveAllUlr)
 //        try? FileManager.default.removeItem(at: self.saveOnlyUlr)
-        self.navigationController?.popToRootViewController(animated: true)
+        navigationController?.popToRootViewController(animated: true)
     }
-    
-    @objc func play(){
+
+    @objc func play() {
         if isExporting {
-            self.avplayer.pause()
+            avplayer.pause()
             return
         }
-        if self.avplayer.currentItem != nil {
-            if self.avplayer.timeControlStatus == .playing {
-                self.avplayer.pause()
-            }else if self.avplayer.timeControlStatus == .paused{
-                self.avplayer.play()
+        if avplayer.currentItem != nil {
+            if avplayer.timeControlStatus == .playing {
+                avplayer.pause()
+            } else if avplayer.timeControlStatus == .paused {
+                avplayer.play()
             }
         }
     }

+ 7 - 7
Podfile

@@ -44,13 +44,13 @@ target 'Introduce' do
 #  pod 'BFRecordScreenKit',     :path => '../BFRecordScreenKit/'
 
 ## ww:Pods-for-testing
-#  pod 'BFCommonKit',            :path => '../../BFCommonKit/Trunk'
-#  pod 'BFNetRequestKit',        :path => '../../BFNetRequestKit/Trunk'
-#  pod 'BFUIKit',                :path => '../../BFUIKit/Trunk'
-#  pod 'BFMaterialKit',          :path => '../../BFMaterialKit/Trunk'
-#  pod 'BFLogger',               :path => '../../BFLogger/Trunk'
-#  pod 'BFMediaKit',             :path => '../../BFMediaKit/Trunk'
-#  pod 'BFRecordScreenKit',      :path => '../../BFRecordScreenKit/Trunk'
+#  pod 'BFCommonKit',           :path => '../../BFCommonKit/Trunk'
+#  pod 'BFNetRequestKit',       :path => '../../BFNetRequestKit/Trunk'
+#  pod 'BFUIKit',               :path => '../../BFUIKit/Trunk'
+#  pod 'BFMaterialKit',         :path => '../../BFMaterialKit/Trunk'
+#  pod 'BFLogger',              :path => '../../BFLogger/Trunk'
+#  pod 'BFMediaKit',            :path => '../../BFMediaKit/Trunk'
+#  pod 'BFRecordScreenKit',     :path => '../../BFRecordScreenKit/Trunk'
 
   
   post_install do |installer|