Forráskód Böngészése

1.调整更新进度UI

wenweiwei 3 éve
szülő
commit
babb17d78a

+ 23 - 21
BFRecordScreenKit/Classes/RecordScreen/Controller/BFRecordScreenController.swift

@@ -142,7 +142,7 @@ public class BFRecordScreenController: BFBaseViewController {
     }()
 
     lazy var playBtn: UIButton = {
-        let btn = UIButton(frame: CGRect.init(x: 0, y: 0, width: 150, height: 156))
+        let btn = UIButton(frame: CGRect(x: 0, y: 0, width: 150, height: 156))
         btn.setImage(imageInRecordScreenKit(by: "preview_play"), for: .normal)
         let vv = UIView(frame: CGRect(x: 0, y: 0, width: 1, height: 1))
         btn.setImage(vv.graphicsGetImage(), for: .selected)
@@ -513,7 +513,8 @@ public class BFRecordScreenController: BFBaseViewController {
                     if deletedVoices.count == 0 {
                         self?.indirectionView?.resetCurrentItem(start: model.startTime, end: model.endTime)
                     } else {
-                        self?.indirectionView?.resetAllSubViews(items: recordItem.voiceStickers, percenWidth: recordItem.mediaType == .IMAGE ? (self?.progressThumV.thumbImageWidth ?? 0) / 2.0 : 0, totalDuration: recordItem.materialDuraion)
+                        /// 重绘录音进度视图
+                        self?.resetAllIndirectionView()
                     }
                     // 矫正进度
                     self?.resetCurrentProgress()
@@ -836,7 +837,7 @@ public class BFRecordScreenController: BFBaseViewController {
         }
         // 从原数组中删除
         let arr = itemModels[currItemModelIndex].titleStickers.filter { model in
-            return !deleteTemp.contains { tuple in
+            !deleteTemp.contains { tuple in
                 tuple.0.audioFilePath == model.audioFilePath
             }
         }
@@ -865,23 +866,19 @@ public class BFRecordScreenController: BFBaseViewController {
                 for (index, item) in itemModels[currItemModelIndex].voiceStickers.enumerated() {
                     if index >= isStopAtRecordRange {
                         // 注:开始时间减去duration or 等一前一段录音的结束时间
-                        //                        item.startTime = item.startTime - currDuration
-//                        item.startTime = itemModels[currItemModelIndex].voiceStickers[index - 1].endTime
-//                        item.endTime = item.startTime + (Double(item.duration ?? "0") ?? 0)
                         item.startTime -= currDuration
                         item.endTime -= currDuration
                     }
                 }
-                // 重绘录音进度视图
-                indirectionView?.resetAllSubViews(items: itemModels[currItemModelIndex].voiceStickers, percenWidth: progressThumV.thumbImageWidth / 2.0, totalDuration: itemModels[currItemModelIndex].materialDuraion)
+                /// 重绘录音进度视图
+                resetAllIndirectionView()
             }
-            
+
             var event = WithDrawModel(type: 3, timestamp: currentAssetProgress.seconds, deletedVoices: [(model, isStopAtRecordRange)])
             event.deletedTittles = deleteTitles(voiceModel: model)
             events.append(event)
 
             searchStopAtRecordRange()
-
         }
     }
 
@@ -1045,10 +1042,8 @@ public class BFRecordScreenController: BFBaseViewController {
             }
             searchStopAtRecordRange()
             let itemModel = itemModels[currItemModelIndex]
-
-            // 重置进度条
-            indirectionView?.resetAllSubViews(items: itemModels[currItemModelIndex].voiceStickers, percenWidth: itemModels[currItemModelIndex].mediaType == .IMAGE ? progressThumV.thumbImageWidth / 2.0 : 0, totalDuration: itemModels[currItemModelIndex].materialDuraion)
-
+            /// 重绘录音进度视图
+            resetAllIndirectionView()
             // 如果是图片需重置播放按钮
             if itemModel.mediaType == .IMAGE {
                 playBtn.isSelected = itemModels[currItemModelIndex].voiceStickers.count <= 0
@@ -1735,13 +1730,8 @@ extension BFRecordScreenController: UICollectionViewDelegate, UICollectionViewDa
             // 重绘录音区域
             progressThumV.recordItem = recordItem
             DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { [weak self] in
-                var percenWidth: CGFloat = 0
-                if recordItem.mediaType == .IMAGE {
-                    percenWidth = (self?.progressThumV.thumbImageWidth ?? 0) / 2.0
-                } else {
-                    percenWidth = (self?.progressThumV.progessIndicateBackV.frame.width ?? 0) / CGFloat(recordItem.materialDuraion)
-                }
-                self?.indirectionView?.resetAllSubViews(items: recordItem.voiceStickers, percenWidth: percenWidth, totalDuration: recordItem.materialDuraion)
+                /// 重绘录音进度视图
+                self?.resetAllIndirectionView()
             }
             // 更新缩略图
             progressThumV.isHidden = false
@@ -1846,4 +1836,16 @@ public extension BFRecordScreenController {
             self?.updateSubtitle(time: self?.currentAssetProgress ?? CMTime.zero)
         }
     }
+
+    /// 重绘录音进度视图
+    func resetAllIndirectionView() {
+        // 重绘录音进度视图
+        var percenWidth: CGFloat = 0
+        if itemModels[currItemModelIndex].mediaType == .IMAGE {
+            percenWidth = progressThumV.thumbImageWidth / 2.0
+        } else {
+            percenWidth = progressThumV.progessIndicateBackV.frame.width / CGFloat(itemModels[currItemModelIndex].materialDuraion)
+        }
+        indirectionView?.resetAllSubViews(items: itemModels[currItemModelIndex].voiceStickers, percenWidth: percenWidth, totalDuration: itemModels[currItemModelIndex].materialDuraion)
+    }
 }