Browse Source

移动到推荐位置

jsonwang 3 years ago
parent
commit
4d1763262a
1 changed files with 10 additions and 15 deletions
  1. 10 15
      BFFramework/Classes/Stuckpoint/View/PQStuckPointCuttingView.swift

+ 10 - 15
BFFramework/Classes/Stuckpoint/View/PQStuckPointCuttingView.swift

@@ -45,9 +45,9 @@ class PQStuckPointCuttingView: UIView {
     /// 时间线高
     /// 时间线高
     private var timeHeight: CGFloat = cDefaultMargin * 4
     private var timeHeight: CGFloat = cDefaultMargin * 4
     /// 频率线宽
     /// 频率线宽
-    private var frequencyWidth: CGFloat = 1.5
+    private var frequencyWidth: CGFloat =  adapterWidth(width: 1.5)
     /// 频率间隔
     /// 频率间隔
-    private var frequencyMargin: CGFloat = 3
+    private var frequencyMargin: CGFloat =  adapterWidth(width: 3)
     /// 竖线和contentview 父视图的左右间隔
     /// 竖线和contentview 父视图的左右间隔
     private var margin: CGFloat = (cScreenWidth - adapterWidth(width: 250)) / 2
     private var margin: CGFloat = (cScreenWidth - adapterWidth(width: 250)) / 2
 
 
@@ -75,6 +75,9 @@ class PQStuckPointCuttingView: UIView {
     var wavSelectCount: Int = 0
     var wavSelectCount: Int = 0
     // 整首歌的线的个数
     // 整首歌的线的个数
     var wavTotalCount: Int = 0
     var wavTotalCount: Int = 0
+    
+    //推荐虚线的位置
+    var startLineX:CGFloat = 0.0
     /// 滚动视图
     /// 滚动视图
     lazy var scrollView: UIScrollView = {
     lazy var scrollView: UIScrollView = {
         let scrollView = UIScrollView(frame: bounds)
         let scrollView = UIScrollView(frame: bounds)
@@ -160,7 +163,7 @@ class PQStuckPointCuttingView: UIView {
     func updateEndTime(startTime: CGFloat, endTime: CGFloat) {
     func updateEndTime(startTime: CGFloat, endTime: CGFloat) {
         stuckPointStartTime = startTime
         stuckPointStartTime = startTime
         stuckPointEndTime = endTime
         stuckPointEndTime = endTime
-
+        BFLog(message: "推荐开始\(stuckPointStartTime) 结束\(stuckPointEndTime) 时长为:\(stuckPointEndTime - stuckPointStartTime)")
         backgroundColor = PQBFConfig.shared.styleBackGroundColor
         backgroundColor = PQBFConfig.shared.styleBackGroundColor
         addSubview(scrollView)
         addSubview(scrollView)
 
 
@@ -217,17 +220,8 @@ class PQStuckPointCuttingView: UIView {
             // 1,处理音频频率
             // 1,处理音频频率
             configVoiceFrequency()
             configVoiceFrequency()
             // 2,滚动到推荐位置
             // 2,滚动到推荐位置
-            if scrollView.frame.width < scrollView.contentSize.width {
-                var offsetX = (stuckPointStartTime / oneMarginTime) * (frequencyWidth + frequencyMargin) + timeLineWidth / 2
-
-                if offsetX < 0 {
-                    offsetX = 0
-                }
-                if offsetX > (scrollView.contentSize.width - scrollView.frame.width) {
-                    offsetX = (scrollView.contentSize.width - scrollView.frame.width)
-                }
-                scrollView.contentOffset = CGPoint(x: offsetX, y: 0)
-            }
+            scrollView.contentOffset = CGPoint(x: startLineX - margin, y: 0)
+            
             scrollView.addSubview(rateView)
             scrollView.addSubview(rateView)
         }
         }
     }
     }
@@ -291,7 +285,7 @@ class PQStuckPointCuttingView: UIView {
             // 线的路径
             // 线的路径
             let linePath = UIBezierPath()
             let linePath = UIBezierPath()
             // 起点 timeLineWidth / 2 处理显示时间的 label中心为时间点
             // 起点 timeLineWidth / 2 处理显示时间的 label中心为时间点
-            let originX: CGFloat = CGFloat(Float(i) * Float(frequencyWidth + frequencyMargin)) + margin + timeLineWidth / 2
+            let originX: CGFloat = CGFloat(Float(i) * Float(frequencyWidth + frequencyMargin)) + margin
 
 
             linePath.move(to: CGPoint(x: originX, y: startY))
             linePath.move(to: CGPoint(x: originX, y: startY))
             // 终点
             // 终点
@@ -306,6 +300,7 @@ class PQStuckPointCuttingView: UIView {
             // 推荐的开始起点是虚线
             // 推荐的开始起点是虚线
             if oneMarginTime * CGFloat(i) >= stuckPointStartTime && !isDrawLine {
             if oneMarginTime * CGFloat(i) >= stuckPointStartTime && !isDrawLine {
                 isDrawLine = true
                 isDrawLine = true
+                startLineX = originX
                 linePath.move(to: CGPoint(x: originX, y: -10))
                 linePath.move(to: CGPoint(x: originX, y: -10))
                 // 终点
                 // 终点
                 linePath.addLine(to: CGPoint(x: originX, y: 30))
                 linePath.addLine(to: CGPoint(x: originX, y: 30))