소스 검색

1,循环1x 不能点击问题修改

jsonwang 3 년 전
부모
커밋
fd5271ad55
1개의 변경된 파일23개의 추가작업 그리고 20개의 파일을 삭제
  1. 23 20
      BFFramework/Classes/Stuckpoint/Controller/PQStuckPointEditerController.swift

+ 23 - 20
BFFramework/Classes/Stuckpoint/Controller/PQStuckPointEditerController.swift

@@ -60,7 +60,7 @@ class PQStuckPointEditerController: PQBaseViewController {
     // 跳跃卡点最后一次选择的速度位置
     var lastJumpSpeedSelectIndex: Int = 0
     // 循环次数设置最后一次选择的位置
-    var lastCyclesSelectIndex: Int = 0
+    var lastCyclesSelectIndex: Int = -1
 
     // 当前选择的玩法模式
     var currentCreateStickersModel: createStickersModel = .createStickersModelSpeed
@@ -316,7 +316,7 @@ class PQStuckPointEditerController: PQBaseViewController {
     lazy var speedSettingView: PQSpeedSettingView = {
         let speedSettingView = PQSpeedSettingView()
         speedSettingView.backgroundColor = .clear
-        speedSettingView.selectSpeedCallBack = { [weak self] maxSpeed, minSpeed, selectIndex, isSettingPlayer in
+        speedSettingView.selectSpeedCallBack = { [weak self] maxSpeed, minSpeed, selectIndex, isSettingPlayer,isCancle in
             BFLog(message: "固定maxSpeed is\(maxSpeed) minSpeed \(minSpeed)")
             // 更新最后一次选择的位置恢复时使用
             if speedSettingView.viewType == 1 {
@@ -330,7 +330,7 @@ class PQStuckPointEditerController: PQBaseViewController {
             self?.minSpeed = minSpeed
             if maxSpeed == -1.0 && minSpeed == -1.0 {
                 self?.customSpeedSettingView.isHidden = false
-                self?.customSpeedSettingView.isJumpSpeedModel = speedSettingView.viewType == 2
+                self?.customSpeedSettingView.viewType = speedSettingView.viewType
             }
             if isSettingPlayer {
                 self?.settingPlayerView()
@@ -344,8 +344,7 @@ class PQStuckPointEditerController: PQBaseViewController {
     lazy var customSpeedSettingView: PQCustomSpeedSettingView = {
         let customSpeedSettingView = PQCustomSpeedSettingView(frame: CGRect(x: 0, y: cScreenHeigth - 354, width: cScreenWidth, height: 354))
         customSpeedSettingView.isHidden = true
-        customSpeedSettingView.isJumpSpeedModel = false
-        customSpeedSettingView.selectSpeedCallBack = { [weak self] maxSpeed, minSpeed, isJumpSpeedModel in
+        customSpeedSettingView.selectSpeedCallBack = { [weak self] maxSpeed, minSpeed, isJumpSpeedModel ,isCancle in
             self?.maxSpeed = maxSpeed
             self?.minSpeed = minSpeed
             BFLog(message: "自定义速度maxSpeed is\(maxSpeed) minSpeed \(minSpeed) \(isJumpSpeedModel)")
@@ -494,7 +493,7 @@ class PQStuckPointEditerController: PQBaseViewController {
         // 1 ui 调整
         if sender.tag == 1 || sender.tag == 2 {
             speedSettingView.viewType = sender.tag
-            customSpeedSettingView.isJumpSpeedModel = speedSettingView.viewType == 2
+            customSpeedSettingView.viewType = speedSettingView.viewType
 
             speedSettingView.snp.remakeConstraints { make in
                 make.left.equalToSuperview().offset(16)
@@ -515,7 +514,7 @@ class PQStuckPointEditerController: PQBaseViewController {
         // 2素材全是图片的时候三个模式都显示循环设置 UI
         if selectedDataCount == selectedImageDataCount {
             speedSettingView.viewType = 3
-            customSpeedSettingView.isJumpSpeedModel = false
+            customSpeedSettingView.viewType = speedSettingView.viewType
             speedSettingView.snp.remakeConstraints { make in
                 make.left.equalToSuperview().offset(16)
                 make.right.equalToSuperview()
@@ -527,7 +526,7 @@ class PQStuckPointEditerController: PQBaseViewController {
             editModelLineView.isHidden = false
             speedTitleLab.isHidden = false
             sustomSwitchView.isHidden = false
-            speedSettingView.setSelectItem(index: lastCyclesSelectIndex, isSettingPlayer: false)
+//            speedSettingView.setSelectItem(index: lastCyclesSelectIndex, isSettingPlayer: false)
 
         } else {
             if sender.tag == 1 { // 快慢速
@@ -535,7 +534,7 @@ class PQStuckPointEditerController: PQBaseViewController {
             } else if sender.tag == 2 { // 跳跃卡点
                 speedSettingView.setSelectItem(index: lastJumpSpeedSelectIndex, isSettingPlayer: false)
             } else if sender.tag == 3 { // 仅音乐
-                customSpeedSettingView.isJumpSpeedModel = false
+//                customSpeedSettingView.isJumpSpeedModel = false
             }
         }
 
@@ -1223,6 +1222,7 @@ extension PQStuckPointEditerController {
 
         // 已经取到的视频素材总长度,用于和原视频素材时长做对比,不够多加一个点
         var useAssestDuration: Float = 0.0
+        selectedTotalDuration = 0.0
         switch model {
         case .createStickersModelPoint: // 跳跃卡点
             stuckPointsTemp = getUsedStuckPoint(seed: stuckPointMusicData?.speed ?? 0)
@@ -1384,20 +1384,23 @@ extension PQStuckPointEditerController {
             speedSettingView.viewType = 3
 
             // lastCyclesSelectIndex 应该是手动设置的值
-            if lastCyclesSelectIndex != 0 {
-                for i in 0 ... lastCyclesSelectIndex - 1 {
-                    var pointIndex = stuckPointsTemp.firstIndex(where: { (point) -> Bool in
-                        (point == (finallyStuckPoints.last ?? 0).truncatingRemainder(dividingBy: (stuckPointsTemp.last ?? 0)))
-                    })
-                    pointIndex = (pointIndex ?? 0) + 1
-                    for i in 0 ... selectedImageDataCount {
-                        let a = stuckPointsTemp[(i + Int(pointIndex ?? 0)) % stuckPointsTemp.count]
-                        let b = Float((i + Int(pointIndex ?? 0)) / stuckPointsTemp.count) * (stuckPointsTemp.first ?? 0)
-                        finallyStuckPoints.append(a + b)
+            if lastCyclesSelectIndex != -1 {
+                if(lastCyclesSelectIndex != 0){
+                    for i in 0 ... lastCyclesSelectIndex - 1{
+                        var pointIndex = stuckPointsTemp.firstIndex(where: { (point) -> Bool in
+                            (point == (finallyStuckPoints.last ?? 0).truncatingRemainder(dividingBy: (stuckPointsTemp.last ?? 0)))
+                        })
+                        pointIndex = (pointIndex ?? 0) + 1
+                        for i in 0 ... selectedImageDataCount {
+                            let a = stuckPointsTemp[(i + Int(pointIndex ?? 0)) % stuckPointsTemp.count]
+                            let b = Float((i + Int(pointIndex ?? 0)) / stuckPointsTemp.count) * (stuckPointsTemp.first ?? 0)
+                            finallyStuckPoints.append(a + b)
+                        }
                     }
                 }
+             
             } else {
-                lastCyclesSelectIndex = 0
+                lastCyclesSelectIndex = 1
                 while selectedTotalDuration < 10 {
                     // 不够10S 时 一次加图片数量的卡点数
                     var pointIndex = stuckPointsTemp.firstIndex(where: { (point) -> Bool in