Bladeren bron

音乐滑动调试完成

南鑫林 5 jaren geleden
bovenliggende
commit
9894bb04c7

+ 1 - 1
RainbowPlanet/RainbowPlanet.xcodeproj/project.pbxproj

@@ -3444,8 +3444,8 @@
 		A7811CCC2323D25A00C2D8DE /* PublishNewModule */ = {
 			isa = PBXGroup;
 			children = (
-				A70E3F2D236FF9520039D7FC /* PublishConfirmPhotoNew */,
 				A7EE5AC5236C131C00309931 /* PublishNew */,
+				A70E3F2D236FF9520039D7FC /* PublishConfirmPhotoNew */,
 				A7EE5AE2236C131D00309931 /* PublishRecommendMusicNewController */,
 			);
 			path = PublishNewModule;

+ 3 - 3
RainbowPlanet/RainbowPlanet/Base/BaseTabbarViewController/BaseTabbarViewController.swift

@@ -185,10 +185,10 @@ class BaseTabbarViewController: NSObject {
         if !AliyunVodUpToyoPublishManager.shared.isUploading { // 是否正在上传中
             PublishNewPopView.show(imageStrs: ["publish_btn_picture","publish_btn_video","publish_btn_photo","publish_btn_article"], titles: ["相册","视频","拍照","文章"], columnCount: 4) { (index) in
                 if index != 3 {
-                    let pickVc = PublishViewController()
-                    pickVc.index = index
-//                    let  pickVc = PublishNewViewController()
+//                    let pickVc = PublishViewController()
 //                    pickVc.index = index
+                    let  pickVc = PublishNewViewController()
+                    pickVc.index = index
                     let nav = BaseNavigationViewController.init(rootViewController: pickVc)
                     nav.modalPresentationStyle = .fullScreen
                     BaseTabbarViewController.shared.esTabBarController.present(nav, animated: true, completion: nil)

+ 58 - 53
RainbowPlanet/RainbowPlanet/Modules/PublishNewModule/PublishNew/View/PublishNewMusicView/PublishNewMusicListView.swift

@@ -9,6 +9,7 @@
 import UIKit
 import JXSegmentedView
 
+/// 选中的音乐
 var publishNewMusicSelectedindexPath : IndexPath? = nil
 
 class PublishNewMusicListView: BaseView {
@@ -16,6 +17,7 @@ class PublishNewMusicListView: BaseView {
     
     var categoryId : Int = 0
     var index : Int? = nil
+    
     var communityMusicItemModels : Array<CommunityMusicItemModel> = []
     
     override func setupViews() {
@@ -86,19 +88,15 @@ extension PublishNewMusicListView : UITableViewDelegate, UITableViewDataSource {
         let cell = PublishNewMusicListViewTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
         let communityMusicItemModel = communityMusicItemModels[indexPath.row]
         if publishNewMusicSelectedindexPath == nil {
-            communityMusicItemModel.isSelected = false
             cell.isSelected = false
         }else {
             if publishNewMusicSelectedindexPath?.section == index {
                 if publishNewMusicSelectedindexPath?.row == indexPath.row {
-                    communityMusicItemModel.isSelected = true
                     cell.isSelected = true
                 }else {
-                    communityMusicItemModel.isSelected = false
                     cell.isSelected = false
                 }
             }else {
-                communityMusicItemModel.isSelected = false
                 cell.isSelected = false
             }
         }
@@ -108,65 +106,72 @@ extension PublishNewMusicListView : UITableViewDelegate, UITableViewDataSource {
     
     func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
         let cell = tableView.cellForRow(at: indexPath) as? PublishNewMusicListViewTableViewCell
-        
-        if publishNewMusicSelectedindexPath?.row != indexPath.row {
-            publishNewMusicSelectedindexPath = IndexPath(row: indexPath.row, section: index ?? 0)
-            var mp3url = kApiDownloadPrefix() + "/music/"
-            mp3url = cell?.communityMusicItemModel?.url?.substring(fromIndex: mp3url.count) ?? ""
-            cell?.communityMusicItemModel?.musicName = mp3url
-            
-            let pathUrl =
-                PathURLManager.projectFilePath(fileName: mp3url, parentURL: PathURLManager.projectDateFormatPath(dateFormat: "yyyyMM", parentURL:
-                    PathURLManager.projectAudiosPath(parentURL:
-                        PathURLManager.projectResourcesPath(parentURL:
-                            PathURLManager.projectDownloadsPath(parentURL:
-                                PathURLManager.projectDocumentPath())))))!
-            
-            if FileManager.default.fileExists(atPath: pathUrl.path) {
-                cell?.isSelected = true
-                publishNewMusicSelectedindexPath?.row = indexPath.row
-                cell?.activityIndicatorView.stopAnimating()
-                cell?.iconImageView.isHidden = false
-                //播放
-                AliPlayerManager.shared.initAudioPlayer(pathUrl: pathUrl.path,startPlayClosure: {
-                    cell?.iconImageView.image = kImage(name: "music_btn_pause")
-                })
-            } else {
-                SwiftMoyaNetWorkServiceDownLoad.shared().musicApi(mp3url: mp3url, progressClosure: {
-                    [weak cell] progress in
-                    cell?.activityIndicatorView.startAnimating()
-                    cell?.iconImageView.isHidden = true
+        if publishNewMusicSelectedindexPath?.row != indexPath.row || publishNewMusicSelectedindexPath?.section != index {
+           publishNewMusicSelectedindexPath = IndexPath(row: indexPath.row, section: index ?? 0)
+           var mp3url = kApiDownloadPrefix() + "/music/"
+           mp3url = cell?.communityMusicItemModel?.url?.substring(fromIndex: mp3url.count) ?? ""
+           cell?.communityMusicItemModel?.musicName = mp3url
+           
+           let pathUrl =
+               PathURLManager.projectFilePath(fileName: mp3url, parentURL:
+                   PathURLManager.projectDateFormatPath(dateFormat: "yyyyMM", parentURL:
+                       PathURLManager.projectAudiosPath(parentURL:
+                           PathURLManager.projectResourcesPath(parentURL:
+                               PathURLManager.projectDownloadsPath(parentURL:
+                                   PathURLManager.projectDocumentPath())))))!
+           if FileManager.default.fileExists(atPath: pathUrl.path) {
+               cell?.isSelected = true
+               cell?.activityIndicatorView.stopAnimating()
+               //播放
+               AliPlayerManager.shared.initAudioPlayer(pathUrl: pathUrl.path,startPlayClosure: {
+                   cell?.iconImageView.isHidden = false
+                   cell?.iconImageView.image = kImage(name: "music_btn_pause")
+               })
+           } else {
+                
+               SwiftMoyaNetWorkServiceDownLoad.shared().musicApi(mp3url: mp3url, progressClosure: { progress in
+                       cell?.activityIndicatorView.startAnimating()
+                       cell?.iconImageView.isHidden = true
+                       cell?.isSelected = false
+                   }, completion: { [weak cell] (_) -> (Void) in
                     
-                    }, completion: { [weak cell] (_) -> (Void) in
-                        cell?.isSelected = true
-                        cell?.activityIndicatorView.stopAnimating()
-                        cell?.iconImageView.isHidden = false
-                        publishNewMusicSelectedindexPath?.row = indexPath.row
+                    if publishNewMusicSelectedindexPath == indexPath {
                         //播放
                         AliPlayerManager.shared.initAudioPlayer(url: cell?.communityMusicItemModel?.url,startPlayClosure: {
+                            cell?.activityIndicatorView.stopAnimating()
+                            cell?.iconImageView.isHidden = false
+                            cell?.isSelected = true
                             cell?.iconImageView.image = kImage(name: "music_btn_pause")
                         })
-                        
-                }) { [weak cell] (loadingStatus) in
-                    cell?.isSelected = false
-                    cell?.activityIndicatorView.stopAnimating()
-                    cell?.iconImageView.isHidden = false
-                    publishNewMusicSelectedindexPath = nil
-                }
-            }
-        }else {
-            //暂停播放
-            AliPlayerManager.shared.audioPlayer.pause()
-            cell?.iconImageView.image = kImage(name: "music_btn_play")
-            cell?.isSelected = false
-            publishNewMusicSelectedindexPath = nil
-        }
+                    }else {
+                        cell?.isSelected = false
+                        cell?.activityIndicatorView.stopAnimating()
+                        cell?.iconImageView.isHidden = false
+                        cell?.iconImageView.image = kImage(name: "music_btn_pause")
+                    }
+                       
+               }) { [weak cell] (loadingStatus) in
+                   cell?.isSelected = false
+                   cell?.activityIndicatorView.stopAnimating()
+                   cell?.iconImageView.isHidden = false
+                   cell?.iconImageView.image = kImage(name: "music_btn_pause")
+                   publishNewMusicSelectedindexPath = nil
+               }
+           }
+       }else {
+           //暂停播放
+           AliPlayerManager.shared.audioPlayer.pause()
+           cell?.iconImageView.image = kImage(name: "music_btn_play")
+           cell?.isSelected = false
+           publishNewMusicSelectedindexPath = nil
+       }
     }
     
     func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
         let cell = tableView.cellForRow(at: indexPath) as? PublishNewMusicListViewTableViewCell
         cell?.isSelected = false
         cell?.iconImageView.image = kImage(name: "music_btn_play")
+        cell?.activityIndicatorView.stopAnimating()
     }
     
     func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
@@ -197,7 +202,7 @@ extension PublishNewMusicListView : JXSegmentedListContainerViewListDelegate {
     }
     
     func listWillAppear() {
-        self.tableView.reloadData()
+        tableView.reloadData()
     }
 
 }

+ 7 - 4
RainbowPlanet/RainbowPlanet/Modules/PublishNewModule/PublishNew/View/PublishNewMusicView/PublishNewMusicListViewTableViewCell.swift

@@ -128,13 +128,11 @@ class PublishNewMusicListViewTableViewCell: UITableViewCell {
         didSet{
             communityMusicItemModel?.isSelected = isSelected
             if isSelected {
-//                iconImageView.image = kImage(name: "music_btn_pause")
-//                playImageView.isHidden = false
                 useButton.isHidden = false
+
             }else {
-//                iconImageView.image = kImage(name: "music_btn_play")
-//                playImageView.isHidden = true
                 useButton.isHidden = true
+
             }
         }
     }
@@ -142,6 +140,11 @@ class PublishNewMusicListViewTableViewCell: UITableViewCell {
     var communityMusicItemModel : CommunityMusicItemModel? {
         didSet {
             titleLabel.text = communityMusicItemModel?.name
+            if communityMusicItemModel?.isSelected ?? false {
+                iconImageView.image = kImage(name: "music_btn_pause")
+            }else {
+                iconImageView.image = kImage(name: "music_btn_play")
+            }
         }
     }
     

+ 2 - 1
RainbowPlanet/RainbowPlanet/Modules/PublishNewModule/PublishNew/View/PublishNewMusicView/PublishNewMusicView.swift

@@ -199,7 +199,7 @@ extension PublishNewMusicView : JXSegmentedViewDelegate {
     
     // 滚动选中的情况才会调用该方法(未支持滚动选中)
     func segmentedView(_ segmentedView: JXSegmentedView, didScrollSelectedItemAt index: Int) {
-        print("\n------滚动选中\(index)")
+        
     }
     
     // 正在滚动中的回调
@@ -224,6 +224,7 @@ extension PublishNewMusicView : JXSegmentedListContainerViewDataSource {
     func listContainerView(_ listContainerView: JXSegmentedListContainerView, initListAt index: Int) -> JXSegmentedListContainerViewListDelegate {
         let musicListView = PublishNewMusicListView()
         musicListView.categoryId = musicCategorys[index].id ?? 0
+        musicListView.index = index
         return musicListView
     }
 }