ソースを参照

1.不足一秒撤回问题

wenweiwei 3 年 前
コミット
cf0b9c47cd

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

@@ -1211,6 +1211,9 @@ public class BFRecordScreenController: BFBaseViewController {
         if voiceModel?.currIndex == currItemModelIndex {
             if itemModels[currItemModelIndex].mediaType == .IMAGE {
                 currentAssetProgress = CMTime(seconds: recorderManager?.voiceModel?.startCMTime.seconds ?? 0, preferredTimescale: 1000)
+                if currentAssetProgress.seconds >= itemModels[currItemModelIndex].materialDuraion.seconds {
+                    currentAssetProgress = CMTime(seconds: itemModels[currItemModelIndex].materialDuraion.seconds, preferredTimescale: 1000)
+                }
                 resetCurrentProgress()
             }
             // 移除

+ 2 - 2
BFRecordScreenKit/Classes/RecordScreen/View/BFVideoThumbProgressView.swift

@@ -265,8 +265,8 @@ extension BFVideoThumbProgressView: UIScrollViewDelegate {
             }
         } else if recordItem?.mediaType == .IMAGE {
             if isDrag {
-                if scrollView.contentOffset.x > ((CGFloat(recordItem?.materialDuraion.seconds ?? 0) * thumbImageWidth / 2.0) + 0.34) {
-                    scrollView.contentOffset = CGPoint(x: (CGFloat(recordItem?.materialDuraion.seconds ?? 0) * thumbImageWidth / 2.0) + 0.34, y: 0)
+                if scrollView.contentOffset.x > ((CGFloat(recordItem?.materialDuraion.seconds ?? 0) * thumbImageWidth / 2.0) + 0.5) {
+                    scrollView.contentOffset = CGPoint(x: (CGFloat(recordItem?.materialDuraion.seconds ?? 0) * thumbImageWidth / 2.0) + 0.5, y: 0)
                 }
                 dragScrollProgressHandle?(false, totalW > 0 ? Float(scrollView.contentOffset.x / totalW) : 0)
             }