Bladeren bron

1.回复cancel录音

wenweiwei 3 jaren geleden
bovenliggende
commit
df59c6dc1c

+ 0 - 1
BFRecordScreenKit/Classes/RecordScreen/Controller/BFRecordScreenController.swift

@@ -1612,7 +1612,6 @@ public class BFRecordScreenController: BFBaseViewController {
         }
 
         if isRecording {
-            let ratioX = 0.08
             let startTime = recorderManager?.voiceModel?.startTime ?? 0
             let progress = currentAssetProgress.seconds - startTime // - ratioX
             // 使用播放器的进度来画线,因为进度是跟着播放器来了

+ 8 - 0
BFRecordScreenKit/Classes/RecordScreen/View/BFIndirectionProgressView.swift

@@ -15,6 +15,7 @@ class BFIndirectionProgressView: UIView {
     var themeColor: UIColor = UIColor.hexColor(hexadecimal: "#389AFF")
     var progressHeight: CGFloat = 6
     var tmpPercentW: CGFloat = 0
+    var deletedView: UIView?
     var percenWidth: CGFloat {
         get {
             if tmpPercentW.isNaN || tmpPercentW.isInfinite || (tmpPercentW <= 0 && totalDuration > 0) {
@@ -55,6 +56,7 @@ class BFIndirectionProgressView: UIView {
         frame.size.width = (superview as? UIScrollView)?.contentSize.width ?? 0
         self.totalDuration = totalDuration
         self.percenWidth = percenWidth
+        deletedView = nil
         subviews.forEach { vv in
             vv.removeFromSuperview()
         }
@@ -81,6 +83,7 @@ class BFIndirectionProgressView: UIView {
             (self?.currentItem?.frame.minX ?? 0) < sub.frame.minX && sub.frame.minX < (self?.currentItem?.frame.maxX ?? 0)
         }
         if vc !== nil {
+            deletedView = vc
             vc?.removeFromSuperview()
         }
     }
@@ -90,6 +93,7 @@ class BFIndirectionProgressView: UIView {
     func detectionAndCreateItem(start: CGFloat = 0, progress: Float64) {
         BFLog(message: "检测并创建item:\(start)")
         if currentItem == nil {
+            deletedView = nil
             currentItem = detectionItem(start: start, progress: progress)
         }
     }
@@ -132,6 +136,10 @@ class BFIndirectionProgressView: UIView {
         if isCurrent {
             currentItem?.removeFromSuperview()
             currentItem = nil
+            if deletedView != nil {
+                addSubview(deletedView!)
+            }
+            deletedView = nil
         } else {
             if index >= 0, index < subviews.count {
                 subviews[index].removeFromSuperview()